文件及目录命令

来源:互联网 发布:淘宝怎么免单 编辑:程序博客网 时间:2024/06/03 19:45
1. ls 
1.1. 显示文件详细信息
ls -l

1.2. 顺序排列文件列表
ls -1  # 是数字1,而不是字母l

1.3. 显示隐藏文件
ls -a

1.4. 显示索引结点号
ls -i

1.5. 递归显示文件夹内容
ls -R

1.6. 显示文件类型
ls -F

1.7. 不展开目录
ls -d /bin

1.8. 按时间顺序排序
ls -rtl

1.9. 与文件有关的时间

ls -l  # mtime  最近修改文件内容的时间
ls -lu # actime 最近访问文件的时间
ls -li # ctime  最近文件有所改变的状态,如文件修改,属性、属主改变,节点,链接变化等,应该是不拘泥只是时间前后的改变

1.10. 只显示目录
ls -l | grep ^d
ls -F | grep /

1.11. 只显示文件
ls -l | grep ^-

1.12. 只显示隐藏文件
ls -d .*

2. pwd

2.1. 查看当前目录

pwd

3. cd
3.1. 更改目录到/usr/lib
cd /usr/lib

3.2. 转到前一个目录
cd ..

3.3. 转到用户主目录
cd ~  或 cd

3.4. 转到前一次进入的目录
cd -

4. mkdir
4.1. 建立目录abc
mkdir abc

4.2. 建立目录abc,并设置权限为777

mkdir -m 777 abc

4.3. 连续建立目录
mkdir -p a/b/c/d

5. rmdir
5.1. 删除目录,要求目录为空
rmdir /tmp/abc

6. cat
6.1. 显示文件内容
cat file.txt

6.2. 显示文件,并给每行添加行号
cat -n test.c  #空行也添加
cat -b test.c  #空行不添加

6.3. 创建文件
cat >a.txt <<END  #创建a.txt文件,并当输入END时结束

7. more
7.1. 分屏显示文件内容
more file.txt

8. head
8.1. 显示文件前10行
head file.txt

8.2. 显示文件前5行
head -5 file.txt

9. tail
9.1. 显示文件最后10行
tail file.txt

9.2. 显示文件最后5行
tail -5 file.txt

9.3. 显示文件,从第3行到最后
tail +3 file.txt

9.4. 不断显示文件的最后5行
tail -5f file.log

10. cp
10.1. 复制文件/etc/passwd到/tmp
cp /etc/passwd /tmp

10.2. 复制文件,当文件存在时提示是否覆盖
cp -i /etc/passwd /tmp

10.3. 复制目录/bin到/tmp
cp -r /bin /tmp

11. rm
11.1. 删除文件
rm file.txt

11.2. 删除文件,提示是否删除
rm -i file.txt

11.3. 强制删除文件
rm -f file.txt

11.4. 删除目录
rm -r /tmp/abc

11.5. 不提示,直接删除文件
yes|rm -ir /tmp/abc

12. mv
12.1. 把文件移动到/tmp
mv a.txt /tmp

12.2. 重命名文件
mv a.txt b.txt

12.3. 移动文件,当文件存在时提示是否覆盖
mv -i a.txt /tmp

13. file
13.1. 显示文件类型
file file.txt

14. wc
14.1. 统计文件
wc a.txt  # 依次显示文件的行数、单词数和字符数

14.2. 统计文件行数
wc -l a.txt

14.3. 统计文件单词数
wc -w a.txt

14.4. 统计文件字符数
wc -c a.txt

15. grep
15.1. 显示包括字符串root的行
grep root /etc/passwd

15.2. 查询包括字符串root的文件,只显示文件名
grep -l root *

15.3. 显示文件,忽略包含字符串root的行
cat /etc/passwd|grep -v root

15.4. 显示文件,忽略以#开头的行
grep -v ^# a.txt

15.5. 搜索以.开头的行
grep '^\.' a.txt

15.6. 搜索文件,忽略大小写
grep -i root /etc/passwd

15.7. 查找文件中包含字符串root的行数
grep -c root /etc/passwd

15.8. 查找以数字开始的行
grep ^[0-9] a.txt

15.9. 查找包含字符串root前后5行的文本
grep -C 5 root /etc/passwd

16. egrep
16.1. 查询包含bike或car的行
egrep 'bike|car' a.txt

17. find
17.1. 在/usr/include中查找文件名为stdio.h的文件
find /usr/include -name stdio.h

17.2. 查找当前目录及子目录中文件名中包含有stdio的文件
find . -name *stdio*

17.3. 查找文件名为stdio.h的文件,再在这些文件中搜索printf字符串
find . -name stdio.h -exec grep printf {} \;
find . -name stdio.h | xargs grep printf

17.4. 根据大小查找文件
find . -size 0  # 查找大小为0的文件
find . -size +1000000c -print  # 查找大于1M的文件

17.5. 查找目录下的所有文件
find . -type f

17.6. 查找目录下的所有目录
find . -type d

17.7. 删除修改时间在3天以前的文件
find . -mtime +3 -exec rm {} \;
find . -mtime +3 | xargs rm

17.8. 查找inode结点号为30931的文件
find . -inum 30931

17.9. 查找/tmp目录下属于用户root的文件
find /tmp -user root

17.10. 将一个目录及子目录下的所有文件按大小排序
find . -type f | xargs ls -l | sort +4 -5
find . -exec ls -l {} \; | grep ^- | sort -n +4 -5

17.11. 查找文件名字为fleas或者为misc的文件
find . \( -name fleas -o -name misc \) -print

17.12. 查找权限位为S的文件 
find . -type f \( -perm -04000 -o -perm -02000 \) -exec ls -lg {} \; 

17.13. 比较a.txt与b.txt哪个更新
find . -newer a.txt -print|grep b.txt #成功说明b.txt更新,否则a.txt更新 

18. diff
18.1. 比较文件的差异
diff file1.txt file2.txt

18.2. 比较文件夹的差异
diff -ruNa dir1 dir2

19. cmp
19.1. 比较文件的差异
cmp file1.txt file2.txt

20. chmod
20.1. 增加文件的执行权限
chmod a+x test.sh 

20.2. 去除文件的写权限
chmod go-w test.sh

20.3. 更改文件权限为644
chmod 644 test.sh
chmod u=rw,g=r,o=r test.sh

20.4. 将当前目录及子目录下的所有文件设为任何人可读
chmod -R a+r *

21. chown
21.1. 更改文件所有者为dba
chown dba file.txt

21.2. 更改abc目录及子目录的所有者为dba
chown -R dba abc

22. chgrp
22.1. 更改文件组权限为dba
chgrp dba file.txt

22.2. 更改abc目录及子目录的组权限为dba
chgrp -R dba abc

23. touch
23.1. 新建文件
touch a.txt

23.1. 修改文件时间
touch file.txt  #修改文件为当前时间
touch -t 201702092219 file.txt  #修改文件时间为201702092219

24. stat
24.1. 查看文件属性
stat file.txt

25. split
25.1. 切割文件,每100行生成一个文件
split -l 100 file.txt out.txt  # 生成n个文件,分别是out.txtaa,out.txtab,out.txtac

25.2. 切割文件,以1000字节为一个文件

split -b 1000 file.txt


26. comm

26.1. 显示a.txt和b.txt的并集
comm a.txt b.txt

26.2. 显示a.txt和b.txt的交集
comm -12 a.txt b.txt

26.3. 仅显示文件a.txt特有的行
comm -23 a.txt b.txt

26.4. 仅显示文件b.txt特有的行
comm -13 a.txt b.txt

27. cut
27.1. 取file.txt文件每行的第3到第8个字符
cut -c3-8 file.txt

27.2. 获取月份
date | cut -b 5,6,7  # 获取第5,6,7个字符

27.3. 查看系统所有用户
cut -d: -f1 /etc/passwd  # 以:为分隔,列出第1列

28. dd
28.1. 生成一个500K大小的文件
dd if=/dev/zero of=file.txt bs=1024 count=500

28.2. 获得文件第10-20字节的内容
dd if=in.txt of=out.txt bs=1 skip=10 count=20

29. ln
29.1. 为文件file.txt创建一个软链接
ln -s file.txt /tmp/file.txt.ln

29.2. 为文件file.txt创建一个硬链接
ln file.txt file.d


30. rev

30.1. 将文件每行逆序
rev file.txt

30.2. 将字符串逆序
echo "hello"|rev


1 0
原创粉丝点击