目录
一、设置别名-alias
●通过别名机制简化常用的、比较长的命令
alias 命令别名=‘命令’
例:alias myls=‘ls-alh’
●取消别名:unalias 命令别名
例子:
[root@ky19cl ~]# alias mynw='vi /etc/sysconfig/network-scripts/ifcfg-ens33'
[root@ky19cl ~]# vi /root/.bashrc
别名>内部>hash>外部命令(先查找别名再查找内部命令,缓存最后外部)
二、统计目录及文件空间占用情况-du
●统计指定目录(或文件)所占用磁盘空间的大小
du 【选项】【文件或目录…】
●常用选项
选项 | 说明 |
---|---|
-a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
-h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
-s | 只统计所占用空间总的大小,而不是统计每个子目录、文件的大小 |
示例
统计出/var/log目录所占用空间的大小
du -sh /var/log/
注:选项-a和-s不可同时使用
du -sh *
#生产环境常这样搭配使用统计当前目录下所有文件的大小并显示出来
三、创建新目录–mkdir
●创建新的空目录
mkdir【选项】目录位置及名称
例:
在当前目录下创建名为public_html的子目录
mkdir public_html
创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
mkdir -p aa/bb/cc
注:-p 一次性创建嵌套的多层路径
例子:
[root@ky19cl home]# mkdir ky19/aa/bb/cc
mkdir: 无法创建目录"ky19/aa/bb/cc": 没有那个文件或目录
[root@ky19cl home]# mkdir -p ky19/aa/bb/cc
[root@ky19cl home]# tree ky19
bash: tree:未找到命令...
[root@ky19cl home]# yum install tree -y
[root@ky19cl home]# tree ky19
[root@ky19cl home]# ls -R ky19/
创建多个:
四、创建空文件-touch命令
●更新文件的时间标记
●经常用于创建多个新的空文件
touch 文件…
例:
touch {aa,bb}.txt = touch aa.txt touch bb.txt
例子:
[root@ky19cl a]# touch {a..h}.txt
[root@ky19cl a]# ls
a.txt c.txt e.txt g.txt xulm.txt
b.txt d.txt f.txt h.txt zhangsan.txt
[root@ky19cl a]# touch {x,y,z}.txt#逗号分开
[root@ky19cl a]# ls
a.txt d.txt g.txt xulm.txt z.txt
b.txt e.txt h.txt y.txt
c.txt f.txt x.txt zhangsan.tx
[root@ky19cl a]# touch l{y,e,x,c}.txt
[root@ky19cl a]# ls
lc.txt le.txt lx.txt ly.txt
t
创建文件:
1.使用touch
[root@ky19cl a]# touch zhangsan.txt
[root@ky19cl a]# ls
zhangsan.txt
[root@ky19cl a]# echo "lisi wanger mazi" > zhangsan.txt
[root@ky19cl a]# cat zhangsan.txt
lisi wanger mazi
2.使用vim
[root@ky19cl a]# vim xulm.txt
[root@ky19cl a]# ls
xulm.txt zhangsan.txt
3.使用echo
[root@ky19cl a]# echo "this is a dog" > ky19.txt
[root@ky19cl a]# ls
ky19.txt
五、创建链接文件-ln
●为文件或目录建立链接文件,类似于Windows系统的快捷方式
链接文件类型
●- 软链接(又称符号链接)
例:ln 【-s】源文件或目录…链接文件或目标位置
ln -s /bin/bzip2 /bin/wx/
●- 硬链接
硬链接:
一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名,但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"( hard link )。
软链接:
除了硬链接以外,还有一种特殊情况。文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"( soft link)或者"符号链接( symbolic link)这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错: “No such file or directory”.这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。
1.软链接
[root@ky19cl a]# echo “this is a dog” > ky19.txt
[root@ky19cl a]# ls
ky19.txt
[root@ky19cl a]# ln -s ky19.txt test.txt
[root@ky19cl a]# ll
总用量 4
-rw-r–r–. 1 root root 14 3月 21 19:02 ky19.txt
lrwxrwxrwx. 1 root root 8 3月 21 20:51 test.txt -> ky19.txt
[root@ky19cl a]# ls
ky19.txt test.txt
[root@ky19cl a]# cp ky19.txt …/
[root@ky19cl a]# rm -rf ky19.txt
[root@ky19cl a]# ls
test.txt
[root@ky19cl a]# cat test.txt
cat: test.txt: 没有那个文件或目录
[root@ky19cl a]# ll
总用量 0
lrwxrwxrwx. 1 root root 8 3月 21 20:51 test.txt -> ky19.txt
[root@ky19cl a]# cp …/ky19.txt ./
[root@ky19cl a]# ls
ky19.txt test.txt
[root@ky19cl a]# ll
总用量 4
-rw-r–r–. 1 root root 14 3月 21 20:56 ky19.txt
lrwxrwxrwx. 1 root root 8 3月 21 20:51 test.txt -> ky19.txt
[root@ky19cl a]# echo “this is class ky19” >> ky19.txt
[root@ky19cl a]# cat test.txt
this is a dog
this is class ky19
[root@ky19cl a]# echo “this is class ky19” >> test.txt
[root@ky19cl a]# cat ky19.txt
this is a dog
this is class ky19
this is class ky19
[root@ky19cl a]# df -h #查内存
在生产工作上用于磁盘空间不足
2.硬链接
[root@ky19cl a]# touch ky18.txt
[root@ky19cl a]# echo “this is class ky18” >> ky18.txt
[root@ky19cl a]# cat ky18.txt
this is class ky18
[root@ky19cl a]# ln ky18.txt test2.txt
[root@ky19cl a]# ll
总用量 12
-rw-r–r–. 2 root root 19 3月 21 21:19 ky18.txt
-rw-r–r–. 1 root root 52 3月 21 21:01 ky19.txt
-rw-r–r–. 2 root root 19 3月 21 21:19 test2.txt
lrwxrwxrwx. 1 root root 8 3月 21 20:51 test.txt -> ky19.txt
[root@ky19cl a]# ls -i
134564818 ky18.txt 134564818 test2.txt
134564813 ky19.txt 134564814 test.txt
[root@ky19cl a]# rm -rf ky18.txt 删除后
[root@ky19cl a]# cat test2.txt
this is class ky18
[root@ky19cl a]# ll
总用量 8
-rw-r–r–. 1 root root 52 3月 21 21:01 ky19.txt
-rw-r–r–. 1 root root 19 3月 21 21:19 test2.txt
lrwxrwxrwx. 1 root root 8 3月 21 20:51 test.txt -> ky19.txt
注:软链接能创建目录,硬链接不行。
硬软区别
硬链接不能跨分区建立连接无法对文件夹创建
删除硬件链接可以继续访问硬链接
软连接可以跨设备可以支持文件夹
软连接删除源文件不能访问
六、复制文件或目录-cp
●将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
●cp 【选项】…源文件或目录…目标文件或目录…
●cp常用选项
选项 | 说明 |
---|---|
-f | 覆盖目标同名的文件或目录时不进行提醒,而直接强制复制。 |
-i | 覆盖目标同名的文件或目录时提醒用户确认。 |
-p | 复制时保存文件的权限、属主及时间标记等属性不变。 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录。 |
-a | 保留权限,递归复制 |
注:cp默认cp -i(解决确认提示可以unalias cp) | |
数据备份: | |
[root@ky19cl a]# touch a.txt | |
[root@ky19cl a]# ls | |
a.txt | |
[root@ky19cl a]# cp a.txt{,.bak} | |
[root@ky19cl a]# ls | |
a.txt a.txt.bak |
七、删除文件或目录-rm
●删除指定的文件或目录
rm【选项】要删除的文件或目录
●常用选项
选项 | 说明 |
---|---|
-f | 删除文件或目录时不进行提醒,而直接强制删除。 |
-i | 删除文件或目录时提醒用户确认。(y表示删除,n表示不删除) |
-r | 删除目录时必须使用此选项,表示递归删除整个目录树(谨慎使用) |
例:rm -rf public_html/grub/ | |
rm -i public_html/apg.conf |
注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障。
删除目录下文件时建议最好先切换到目录下再执行rm -rf命令。
rm -rf ./*(删除目录下所有文件)
八、移动文件或目录-mv
●将指定文件或目录转移位置
●如果目标位置与源位置相同,则相当于执行重命名操作
mv 【选项】…源文件或目录…目标文件或目录
●mv命令只能对单个文件重命名,可使用rename命令批量修改文件名
rename 旧字符 新字符 目标文件
例:
[root@ky19cl a]# touch abc.txt
[root@ky19cl a]# rename txt log *.txt
[root@ky19cl a]# ls
abc.log dome ky17 test.log
九、查找命令/文件存放目录-which
●搜索范围由环境变量PATH决定(echo$PATH)
让系统能识别命令所在文件位置的环境变量PATH
which 命令/程序名 //默认当查找到第一个目标后不再继续查找
which -a 命令/程序名 //在所有搜索路径中查找
例which ls
which history
[root@ky19cl a]# which ls
alias ls=‘ls --color=auto’
/usr/bin/ls
[root@ky19cl a]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin(只要在这个路径下就会运行相应指令)
十、查找文件或目录-find
●采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find 【查找范围】 【查找条件表达式】
查找文件或子目录的目录位置
查看条件类型
●常用查找条件类型
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用 “*” 及 “?” 通配符 |
按文件大小查 | -size | 根据目标文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件,常用的容量单位包括kB(注意k是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找,文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等。 |
●使用find命令实现多个查找条件
各表达式之间使用逻辑运算符
-a表示 而且(and)
-o表示 或者 (or)
例:find /boot -size +1024k -a -name “vmlize”
注:
1.查找etc目录下root和文件大小大于1M(小于1M)文件
[root@ky19cl home]# find /etc -user root -a -size +1M
[root@ky19cl home]# find /etc -user root -a -size -1M
2.查找目录bin下权限为755的文件或目录
[root@ky19cl home]# find /bin/ -perm 755
3.find之exec用法(可以一次性删除日志文件实用性高)
[root@ky19cl a]# touch {1…20}.txt
[root@ky19cl a]# touch {1…20}.log
[root@ky19cl a]# ls
10.log 14.log 18.log 2.log 6.log dome
10.txt 14.txt 18.txt 2.txt 6.txt ky17
11.log 15.log 19.log 3.log 7.log ky19.txt
11.txt 15.txt 19.txt 3.txt 7.txt test2.txt
12.log 16.log 1.log 4.log 8.log test.txt
12.txt 16.txt 1.txt 4.txt 8.txt
13.log 17.log 20.log 5.log 9.log
13.txt 17.txt 20.txt 5.txt 9.txt
[root@ky19cl a]# cd …
[root@ky19cl home]# find /home/a -type f -name “*.log” -exec rm {} \;
[root@ky19cl home]# cd a
[root@ky19cl a]# ls
10.txt 15.txt 1.txt 5.txt dome
11.txt 16.txt 20.txt 6.txt ky17
12.txt 17.txt 2.txt 7.txt ky19.txt
13.txt 18.txt 3.txt 8.txt test2.txt
14.txt 19.txt 4.txt 9.txt test.txt
4.find /boot -type d
find/data/-type d#查找/data/目录下的文件夹;
find/data/! -type d#查找/data/目录下的非文件夹;
find/data/-type i#查找/data/目录下的链接文件。
find /data/ -type d |xargs chmod 755 -R
#查目录类型并将权限设置为755;
find/data/ -type f|xargs chmod 644 -R
#查文件类型并将权限设置为644;