文件目录相关
创建、删除多个目录
mac@KbMan:~/Desktop/3_学习_kbman/linux> touch {1..10}.txt
mac@KbMan:~/Desktop/3_学习_kbman/linux> ls
1.txt 10.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt
mac@KbMan:~/Desktop/3_学习_kbman/linux> rm {1..10}.txt
mac@KbMan:~/Desktop/3_学习_kbman/linux> ls
tree
yum install tree
tree -F # 给目录加个 /
tree -d # 只查看目录
tree -L 2 # 只遍历两层目录
tree -L 2 /etc #查看指定目录
tree –help
参 数:
-a 显示所有文件和目录。
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上”*”,”/”,”=”,”@”,”|”号。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I <范本样式> 不显示符合范本样式的文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-P <范本样式> 只显示符合范本样式的文件或目录名称。
-q 用”?”号取代控制字符,列出文件和目录名称。
-s 列出文件或目录大小。
-t 用文件和目录的更改时间排序。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上
mkdir
mkdir /a/b/c # 创建多级目录
mkdir -p a/b/c # 递归创建目录,可以连续创建多个目录
mac@KbMan:~/Desktop/3_学习_kbman/linux> mkdir a{1..3}
mac@KbMan:~/Desktop/3_学习_kbman/linux> ls
a a1 a2 a3
mac@KbMan:~/Desktop/3_学习_kbman/linux> mkdir a{a..e}
mac@KbMan:~/Desktop/3_学习_kbman/linux> ls
a a1 a2 a3 aa ab ac ad ae
mkdir a{j,k,l}
touch
touch test{a..c}.txt # testa.txt testb.txt testc.txt
cp
-p:保留源文件或目录的属性,保持权限不变
-a == -pdr
mv:重命名、移动文件
文件内容相关命令:
echo
echo 内容 > 文件名
echo hello world # 输出到控制台
echo hello > 1.txt # 输出到文件
echo hello2 >> 1.txt # 追加内容到文件
echo -e # 开启转义
cat
-
查看文件内容
-
将一个文件的内容输出到另一个文件,
cat test.txt > test2.txt cat 1.py > 2.py # 会覆盖 cat 1.py >> 2.py # 追加内容
-
合并文件内容
mac@KbMan:~/Desktop/3_学习_kbman/linux> cat 1.py 2.py > 3.py mac@KbMan:~/Desktop/3_学习_kbman/linux> cat 3.py print("hello world") print("hello world") mac@KbMan:~/Desktop/3_学习_kbman/linux>
-b # 显示行编号(忽略空行)
-n # 显示所有行编号(包括空行)
cat输入内容,而不需要打开vim。
mac@KbMan:~/Desktop/3_学习_kbman/linux> cat > 3.py << EOF
> asldkf
> ]asldfk
> ]2314
> asdlfkj
> as;dklfj
> asd;lfj
> EOF
mac@KbMan:~/Desktop/3_学习_kbman/linux> cat 3.py
asldkf
]asldfk
]2314
asdlfkj
as;dklfj
asd;lfj
mac@KbMan:~/Desktop/3_学习_kbman/linux>
more 分页显示大文件内容,看到文件最后一行直接退出
less 分页显示大文件内容,看到文件最后一行不会直接退出
- 空格/f 下一页
- b 上一页
- q 退出
head:查看大文件前几行
- head -n 10 bigfile # 查看前十行
tail: 查看大文件末尾几行
- tail -n 10 bigfile
grep: 文本过滤工具
ps -aux | grep python
# | 是管道的意思,把前面的输出结果,交给 grep 来过滤
参数:
-v: 排除、取反
-n: 加入行号
ps -aux | grep -vn python
tr: 替换或删除字符
# 没有影响原来的文件
mac@KbMan:~/Desktop/3_学习_kbman/linux> cat tr_test.txt
asdfasdflkj
alskdflasjqwer
ldakfsjlskd
mac@KbMan:~/Desktop/3_学习_kbman/linux> tr 'a' "A" < tr_test.txt
AsdfAsdflkj
AlskdflAsjqwer
ldAkfsjlskd
mac@KbMan:~/Desktop/3_学习_kbman/linux> cat tr_test.txt
asdfasdflkj
alskdflasjqwer
ldakfsjlskd
mac@KbMan:~/Desktop/3_学习_kbman/linux>
# 将文件中所有 'a' 替换成 'A' , 并新建文件
mac@KbMan:~/Desktop/3_学习_kbman/linux> tr 'a' "A" < tr_test.txt > tr_test_result.txt
mac@KbMan:~/Desktop/3_学习_kbman/linux> cat tr_test_result.txt
AsdfAsdflkj
AlskdflAsjqwer
ldAkfsjlskd
mac@KbMan:~/Desktop/3_学习_kbman/linux>
# 删除文件中所有字符 'A',并新建文件
tr -d 'A' < tr_test_result.txt > tr_delete.txt