linux自学教程框架思维导图内容有sudo权限、A如何免登B机器、文件管理、cd命令、链接In、创建目录文件、cp复制文件或目录、v移动或更名现有文件或目录、m删除命令,欢迎品鉴。
社区模板帮助中心,点此进入>>
linux自学教程框架思维导图
sudo权限
sudo用户配置的文件是:/etc/sudoers,默认只有root用户可以修改该文件,切保存的时候需要进行强制保存:wq!
如何为用户增加sudo权限,如将ckl用户加上ls和rpm的权限
1、先用whereisls和whereisrpm命令找到ls与rpm的绝对路径
2、然后在sudoers里面加上:cklALL=/bin/rpm,/bin/ls就给ckl用户添加上ls和rpm的权限了
A如何免登B机器
1、首先在A机器上生成秘钥:ssh-keygen
2、然后进入保存秘钥的目录:cd.ssh/
3、秘钥保存在id_rsa.pub,文件中,用catid_rsa.pub可查看秘钥
4、将A机器中的id_rsa.pub的文件内容复制到B机器用户的.ssh/authorized_keys文件里
文件管理
-rw-------.1rootroot7726\u6708182013anaconda-ks.cfg-rw-r--r--.2rootroot111\u67082016:27hard-link-rw-r--r--.1rootroot119555\u670822013post-install-rw-r--r--.1rootroot5505\u670822013post-install.log-rw-r--r--.2rootroot111\u67082016:27sourcelrwxrwxrwx.1rootroot611\u67082016:33source1->source
上步中显示信息代表的含义
-表示文件;d表示目录;l表示链接;s表示sock;b表示block设备块。
上步中后面字符信息表达的意思
第一组3个字符表示该文件的用户所属者,第二组3个字符表示该文件的用户组所属,最后表示其他角色
文件权限与权限代码
r--读4,w--写2,x--执行1,---无权限0
描述-rw-r--r--.2rootroot111\u67082016:27source的权限信息
这是个文件,root用户有读写的权限,root用户组有读的权限,其他角色有读的权限
读的权限代码>=4(4,5,6,7),写的权限代码是2,3,6,7,执行的权限代码是基数(1,3,5,7)
chmod修改文件许可权限&chown修改目录文件的所有者
命令-R在更改目录时加上此参数表示递归更改目录的属性,目录下的文件和子目录的权限一起做变更
chmod777-R/etc
chown用户.用户组/root/source更改用户的所有者信息
cd命令
常用命令
1、cd~直接返回用户主目录,回到当前用户的家目录2、cd-返回上次用户所在目录3、cd/test/使用绝对路径--直接进入test目录4、cd../../root/使用相对路径每个..表示一层目录
如何处理不能sudocd
cd不能有sudo的权限如果要更改cd的权限,先要确定操作的目录/文件有哪个用户组有权限,如root用户组,通过usermod-grootckl
链接ln
链接之间的关系
对原文件、硬链接、软链接进行修改时,其他两项均会进行修改
对原文件删除时,软链接也会无效
要真正删除文件,要同时删除硬链接和原文件
链接的实际意义
软连接的作用主要是建立桌面的快捷方式ls-sexistfilenewfile
硬链接的作用是备份lsexistfilenewfile
注意
对目录不能建立硬链接,只能建立软连接
实例
实例一:ln/etc/passwd/home/passwd例子说明:对文件/etc/passwd创建一个硬连接passwd,存放在/home目录下实例二:ln-s/etc/rc.d/init/home/init例子说明:对目录/etc/rc.d/init创建一软连接init,存放在/home目录下
创建目录文件
命令-p
若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录
创建目录(mkdir)
实例一:mkdirbak例子说明:在当将目录下新建bak目录实例二:mkdir-p/home/lwan/1/2/bak例子说明:在/home/lwan/1/2/新建一bak目录,如果bak的上层目录不存在,则一并创建
创建文件touch
touchloglog1
cp复制文件或目录
关键参数
-r/R递归处理,将目录及其子目录和文件一并处理-f强制覆盖重名的文件或目录
命令格式
命令格式:cp–rf源文件或目录目标文件或目录
cp-r/root/test/root/test0(cp命令必须带上r参数)将root目录下的test文件拷贝到root目录下的test0下
mv移动或更名现有文件或目录
-f若目标文件与现有的文件重名则直接覆盖.-i提示用户是否覆盖已经存在的文件或目录.
命令格式:mv[-if]源文件或目录目录文件或目录
mv/root/source/root/test将root目录下的source文件拷贝到root/test目录下
rm删除命令
-r一次性删除目录及目录下的子目录和文件-f强调删除
命令格式:rm[-rf]目录或文件名
cat参看文件
相似命令
catmorevimgrep等
cat特殊用法
cat-v命令可以查看影藏的编码信息
当windows中的代码copy到linux使用时,可能有影藏的编码问题(^m^f等信息)可以用cat-v1.sh
行合并
[root@localhosttest]#cat123test123[root@localhosttest]#cat234road234[root@localhosttest]#cat123234---行合并test123road234
列合并
[root@localhosttest]#cat123test123[root@localhosttest]#cat234road234[root@localhosttest]#paste123234---列合并testroad123234
覆盖
[root@localhosttest]#cat123test123[root@localhosttest]#cat234road234[root@localhosttest]#cat123>234---覆盖(一个大于号)[root@localhosttest]#cat234test123
追加
[root@localhosttest]#cat123test123[root@localhosttest]#cat234test123567[root@localhosttest]#cat123>>234---追加(两个大于号)[root@localhosttest]#cat234test123567test123
grep与管道的连用
命令格式与关键参数
命令格式:grep[-ivnE]字符串文件-n:显示行号-A:显示后几行
[root@localhost~]#grepspotlight-A3/etc/passwd--显示spotlight后面3行,若没有3行显示实际的行数spotlight:x:0:0::/home/spotlight:/bin/bashckl:x:501:502::/home/ckl:/bin/bashroad:x:502:503::/home/road:/bin/bash
-B:显示前几行
显示spotlight前面2行,若没有2行显示实际的行数[root@localhost~]#grepspotlight-B2/etc/passwdtcpdump:x:72:72::/:/sbin/nologinlwan:x:500:500:lwan:/home/lwan:/bin/bashspotlight:x:0:0::/home/spotlight:/bin/bash
-v:排除
[root@localhost~]#grepspotlight-A3/etc/passwd|grep-vckl--显示spotlight后面3行除去ckl的一行spotlight:x:0:0::/home/spotlight:/bin/bashroad:x:502:503::/home/road:/bin/bash
-i:不区分大小写
[root@localhosttest]#rpm-qa|grepssh-iopenssh-5.3p1-84.1.el6.i686ksshaskpass-0.5.1-4.1.el6.i686openssh-askpass-5.3p1-84.1.el6.i686openssh-server-5.3p1-84.1.el6.i686openssh-clients-5.3p1-84.1.el6.i686libssh2-1.4.2-1.el6.i686
-R:递归查找目录
[root@localhosttest]#grep"test"-R/root/test---递归查找/root/test目录下包含”test这个词的行/root/test/123:test/root/test/234:test/root/test/234:test
-E:扩展查找
[root@localhost~]#grep-E"root|ckl"/etc/passwd-n--显示有root和ckl,并显示行号1:root:x:0:0:root:/root:/bin/bash11:operator:x:11:0:operator:/root:/sbin/nologin40:ckl:x:501:502::/home/ckl:/bin/bash
管道的使用
[root@localhosttest]#grepspotlight-A3/etc/passwd|grep-vckl--找出spotlight的后3行中去掉ckl的行,管道之前的输出作为管道的输入,管道前面的内容需要正确的输出信息spotlight:x:0:0::/home/spotlight:/bin/bashroad:x:502:503::/home/road:/bin/bash
分支主题13find与通配符的使用
通配符含义
*表示匹配顺序的一个或多个字符co*以co开头的文件?表示任意单个字符?.h所有文件开头是一个字符。以.hj结尾[]匹配一组封闭字符或范围log[1-3].txt名为log1.txt到log3.txt的文件
find命令格式与参数
命令格式:find[路径][-typefdl][-name字符串][-atime[+/-]numberofdays]格式说明:路径:确定搜索的路径-type:确定搜索的范围,f(文件)d(目录)l(链接)-name:文件或目录名表达式-atime:多少天内修改过
[root@localhosttest]#find./-name"log*"--找到log开头的文件和目录[root@localhosttest]#find./-typef-name"log*"--找到log开头的文件[root@localhosttest]#find./-typed-name"log*"--找到log开头的目录[root@localhosttest]#find./-typef-name"log[1-2]"--找到log1/2的文件[root@localhosttest]#find./-typef-name"log"--找到log后面加一个字符的文件
管道+xargs
find./-typef-name"log"|xargs-IFILEcpFILEtest3/
xargs-IFILE表示管道前面的内容,参数化赋值给FILEcp管道前面的内容(FILE,变量可随意定义)复制到/test3