1.搜索
1. grep
-
在指定目录下,搜索包含指定字符串的文件
- 在product目录下面搜索
- grep -s AAA ./product/*
- 在当前目录下面搜索
- grep -s AAA ./*
- 在product目录下面搜索
-
在指定目录及其子目录下,搜索包含指定字符串的文件
- 在product目录及其子目录下搜索
- grep -R AAA ./product/*
- 在当前目录及其子目录下搜索
- grep -R AAA ./*
- 在product目录及其子目录下搜索
-
搜索结果仅显示文件名 l
- grep -Rl AAA ./*
-
大小写不敏感 i .以下两条是同样效果,大小写不敏感.
- grep -Ri AAA ./*
- grep -Ri aaa ./*
-
显示结果包含要搜索的字符串在文件中的行号
- grep -Rni AAA ./*
-
在指定文件中搜索指定内容,并显示行号 : grep -n 指定内容 指定文件
- grep -Rni devices 指定目录 : 在指定目录下递归搜索所有文件内容包含devices的文件并显示对应行号.
XXX:~/testDir$ grep -n devices 1.txt 17:./qcom/cts/hostsidetests/shortcuts/deviceside/backup/launcher1 18:./qcom/cts/hostsidetests/shortcuts/deviceside/backup/launcher1/src/android/content/pm/cts/shortcut/backup/launcher1 19:./qcom/cts/hostsidetests/shortcuts/deviceside/backup/launcher2 20:./qcom/cts/hostsidetests/shortcuts/deviceside/backup/launcher2/src/android/content/pm/cts/shortcut/backup/launcher2 21:./qcom/cts/hostsidetests/shortcuts/deviceside/backup/launcher3 22:./qcom/cts/hostsidetests/shortcuts/deviceside/backup/launcher3/src/android/content/pm/cts/shortcut/backup/launcher3 23:./qcom/cts/hostsidetests/shortcuts/deviceside/backup/launcher4new
2. find
baijiahao.baidu.com/s?id=173206…
- 在当前目录及子目录搜索特定名称的文件和目录
- 在当前目录及子目录下搜索以launcher开头的文件及目录
find . -name launcher*
2. 在当前目录及子目录搜索特定名称的文件 -type f * 在当前目录及子目录下搜索以launcher开头的文件
find . -name launcher* -type f
3. 在当前目录及子目录搜索特定名称的目录 -type d * 在当前目录及子目录下搜索以launcher开头的目录
find . -name launcher* -type d
4. 在当前目录及子目录搜索特定类型文件 * 在当前目录及子目录下搜索 .sh 文件
find . -name *.sh
2.将linux命令执行结果不显示,直接写入到指定文件
1. > 将执行结果写入到指定文件,文件原始内容不保留
- 命令 > 指定文件
ls > testDir/1.txt
2. >> 将执行结果写入到指定文件,会附加到原始文件内容之后
- 命令 >> 指定文件
ls >> testDir/1.txt
3.将linux命令执行结果写入到指定文件,并同时显示执行结果
1. 命令 | tee 指定文件
- 将命令执行结果写入指定文件,并同时显示执行结果. + 文件原始内容不保留
find . -name launcher* -type d | tee testDir/1.txt
2. 命令 | tee -a 指定文件
- 将命令执行结果写入指定文件,并同时显示执行结果. + 文件原始内容保留,执行结果会附加到原始内容后面
find . -name launcher* -type d | tee -a testDir/1.txt
4.删除
- 删除当前目录下所有文件,文件夹及其子文件夹,递归删除
rm -rf ./*
2. 删除指定文件夹
删除文件夹 d
rm -rf d/
5.查看当前所在目录
pwd
***:~/LinuxTest/d1$ pwd
/work/用户名/LinuxTest/d1
6.创建文件
- 创建1个文件
touch f1.txt
2. 创建多个文件
touch 1.txt 2.txt 3.txt
7.创建文件夹
- 创建1个文件夹
mkdir d1
2. 创建多个文件夹
mkdir d1 d2 d3
3. 将所需要的文件夹递归创建完成: mkdir -p a/a1/a2/a3
***:~/testDir$ mkdir -p d1/d11/d12/d13
***:~/testDir$ cd d1/d11/d12/d13/
***:~/testDir/d1/d11/d12/d13$ pwd
XXX/testDir/d1/d11/d12/d13
8.进入linux系统根目录: cd /
linux根目录路径就是 /
***:/$ cd /
***:/$ pwd
/
***:/$
9.linux下查看文件属性. ls -l 可以看到当前目录下所有文件及目录的属性
***:/$ ls -l
total 1943024
//文件夹
drwxr-xr-x 2 root root 12288 Oct 11 2021 bin
//链接文档
lrwxrwxrwx 1 root root 32 Oct 11 2021 XXX.img -> boot/XXX.img-XXX-generic
lrwxrwxrwx 1 root root 34 Oct 11 2021 XXX.img.old -> boot/XXX.img-XXXOLD-generic
//文件
-rw------- 1 root root 1989529600 Feb 24 2021 swapfile
- 第0位标记文件类型: d代表 文件夹. l代表链接文档. -代表 文件.
- 第1到3位标记该文件的所有者拥有的该文件的权限.
- r: 可读
- w: 可写
- x: 可执行
- rwx3个顺序不会改变,没有对应权限则显示-
- 第4到6位标记该文件的所有者的同组用户拥有的该文件的权限.
- 第7到9位标记其他用户拥有的该文件的权限.
- 对于linux下的文件及目录,都有一个用户是它的所有者,而每个用户都属于一个或多个组.
//文件夹
//所有者是 root. 所有者的组是 root.
//所有者权限: rwx
//所有者同组权限: r-x
//其他用户权限: r-x
drwxr-xr-x 2 root root 12288 Oct 11 2021 bin
10. cd
- cd / :进入系统根目录
- cd ~ :进入当前用户目录
- cd .. :进入上一级目录
11. 复制文件及文件夹
1. cp -i 原始文件名字 目标文件位置/目标文件名字
***:~/testDir$ ls
1.txt 2.txt av base d1 d2 d3
//将文件1.txt拷贝至文件夹d2下, 并重命名为1copyfile
***:~/testDir$ cp -i 1.txt d2/1copyfile
***:~/testDir$ cd d2/
//拷贝来的1.txt现在名称是1copyfile
***:~/testDir/d2$ ls
1copyfile
2. cp -r 原始文件夹 目标文件夹位置/目标文件夹名字
***:~/testDir$ ls
1.txt 2.txt av base d1 d2 d3
//将文件夹d1拷贝至文件夹d2下, 并重命名为d1copy
***:~/testDir$ cp -r d1/ d2/d1copy/
***:~/testDir$ cd d2/
//拷贝来的d1文件夹现在名称是d1copy
***:~/testDir/d2$ ls
d1copy
12. 文本文件查看
1. cat
-
cat 指定文件
- 直接显示文本内容
cat 1.txt -
cat -n 指定文件
- 显示文本内容,且显示行号,空白行也占用行号
cat -n 1.txt -
cat -b 指定文件
- 显示文本内容,且显示行号,空白行不占用行号
cat -b 1.txt
2. nl 指定文件 : 显示指定文件的内容,并显示行号
nl 1.txt
3. more -count +start 指定文件 : 每页显示count行,从第start行开始显示文本内容
- more在运行中,有几个按键可以按
- 空格 : 继续显示下一页(count行)
- Enter : 继续显示下一行
- b : 返回显示上一页
//每页显示32行. 从第20行开始显示.
more -32 +20 1.txt
4. head -n 指定文件 : 显示指定文件的开头n行
head -32 1.txt
5. tail -n 指定文件 : 显示指定文件的结尾n行
tail -32 1.txt
13. df -h : 显示指定目录下整体空间使用量
//获取当前目录的磁盘使用量
XXX:~/testDir$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/sdb 1000G 811G 189G 82% /data
//获取系统整体磁盘使用量
XXX:~/testDir$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 31G 0 31G 0% /dev
tmpfs 6.1G 9.1M 6.1G 1% /run
/dev/sda1 40G 7.5G 30G 21% /
tmpfs 31G 0 31G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 31G 0 31G 0% /sys/fs/cgroup
/dev/loop2 68M 68M 0 100% /snap/lxd/22753
/dev/loop5 62M 62M 0 100% /snap/core20/1405
/dev/loop1 68M 68M 0 100% /snap/lxd/21545
/dev/loop6 62M 62M 0 100% /snap/core20/1518
/dev/sdb 1000G 811G 189G 82% /data
/dev/loop0 47M 47M 0 100% /snap/snapd/16010
tmpfs 6.1G 0 6.1G 0% /run/user/1001
/dev/loop3 47M 47M 0 100% /snap/snapd/16292
14. du : 获取指定目录
- du -sh : 统计当前目录整体占用
- du -ah : 统计当前目录文件夹及文件占用明细
//统计当前目录磁盘整体占用
XXX:~/testDir/d1$ du -sh
32K .
//统计当前目录磁盘整体占用,及每个文件夹占用情况
XXX:~/testDir/d1$ du -ah
0 ./d11/d12/d13
0 ./d11/d12
0 ./d11
32K ./1
0 ./d1file1.txt
0 ./d1file2.txt
0 ./d1file3.txt
32K .
15. vi
- vi 指定文件 : 进入编辑指定文件模式
- i 是进入输入模式
- ESC -> :wq 是保存并退出
16. 修改文件/文件夹的组
- sudo chgrp bin DOC\ 文档.doc
- sudo chgrp bin tt/
**/test$ ls -al
总用量 52
drwxrwxr-x 2 xjsd xjsd 4096 6月 7 18:56 .
drwxrwxr-x 6 xjsd xjsd 4096 6月 7 18:56 ..
-rw-rw-r-- 1 xjsd xjsd 9216 5月 17 19:44 'DOC 文档.doc'
-rw-rw-r-- 1 xjsd xjsd 20992 5月 17 19:44 'PPT 演示文稿.ppt'
-rw-rw-r-- 1 xjsd xjsd 6656 5月 17 19:44 'XLS 工作表.xls'
**/test$ sudo chgrp bin DOC\ 文档.doc
[sudo] xjsd 的密码:
xjsd@XJSH01351:~/Jet/文档/test$ ls -al
总用量 52
drwxrwxr-x 2 xjsd xjsd 4096 6月 7 18:56 .
drwxrwxr-x 6 xjsd xjsd 4096 6月 7 18:56 ..
-rw-rw-r-- 1 xjsd bin 9216 5月 17 19:44 'DOC 文档.doc'
-rw-rw-r-- 1 xjsd xjsd 20992 5月 17 19:44 'PPT 演示文稿.ppt'
-rw-rw-r-- 1 xjsd xjsd 6656 5月 17 19:44 'XLS 工作表.xls'
**/test$ ls -al
总用量 56
drwxrwxr-x 3 xjsd xjsd 4096 6月 7 18:59 .
drwxrwxr-x 6 xjsd xjsd 4096 6月 7 18:56 ..
-rw-rw-r-- 1 xjsd bin 9216 5月 17 19:44 'DOC 文档.doc'
-rw-rw-r-- 1 xjsd xjsd 20992 5月 17 19:44 'PPT 演示文稿.ppt'
drwxrwxr-x 2 xjsd xjsd 4096 6月 7 18:59 tt
-rw-rw-r-- 1 xjsd xjsd 6656 5月 17 19:44 'XLS 工作表.xls'
**/test$ sudo chgrp bin tt/
**/test$ ls -al
总用量 56
drwxrwxr-x 3 xjsd xjsd 4096 6月 7 18:59 .
drwxrwxr-x 6 xjsd xjsd 4096 6月 7 18:56 ..
-rw-rw-r-- 1 xjsd bin 9216 5月 17 19:44 'DOC 文档.doc'
-rw-rw-r-- 1 xjsd xjsd 20992 5月 17 19:44 'PPT 演示文稿.ppt'
drwxrwxr-x 2 xjsd bin 4096 6月 7 18:59 tt
-rw-rw-r-- 1 xjsd xjsd 6656 5月 17 19:44 'XLS 工作表.xls'
17. chmod命令使用数字修改文件权限
chmod 777 DOC\ 文档.doc
**/test$ ls -al
总用量 56
drwxrwxr-x 3 xjsd xjsd 4096 6月 7 18:59 .
drwxrwxr-x 6 xjsd xjsd 4096 6月 7 18:56 ..
-rw-rw-r-- 1 xjsd bin 9216 5月 17 19:44 'DOC 文档.doc'
-rw-rw-r-- 1 xjsd xjsd 20992 5月 17 19:44 'PPT 演示文稿.ppt'
drwxrwxr-x 2 xjsd bin 4096 6月 7 18:59 tt
-rw-rw-r-- 1 xjsd xjsd 6656 5月 17 19:44 'XLS 工作表.xls'
**/test$ chmod 777 DOC\ 文档.doc
**/test$ ls -al
总用量 56
drwxrwxr-x 3 xjsd xjsd 4096 6月 7 18:59 .
drwxrwxr-x 6 xjsd xjsd 4096 6月 7 18:56 ..
-rwxrwxrwx 1 xjsd bin 9216 5月 17 19:44 'DOC 文档.doc'
-rw-rw-r-- 1 xjsd xjsd 20992 5月 17 19:44 'PPT 演示文稿.ppt'
drwxrwxr-x 2 xjsd bin 4096 6月 7 18:59 tt
-rw-rw-r-- 1 xjsd xjsd 6656 5月 17 19:44 'XLS 工作表.xls