上文:Linux系统操作01|文件目录、常用命令-优快云博客
目录
4*、管道 | :把左边的命令返回的结果交给右边命令进行处理
11、其他命令 su切换用户身份
四、基本命令(一)
1、ls权限介绍
使用ls -l 会显示当前目录下的详细列表,如下图,第一列表示文件/文件夹的权限信息,第二列第三列表示当前用户,第四列表示当前用户所属的组,第五列代表文件大小,第六
| 第1列 | 第2列 | 第3列 | 第4列 | 第5列 | 第6列 | 第7列 | 第8列 | 第9列 |
| 件/文件夹的权限信息 | 链接数 | 文件的所有者用户名 | 显示文件所属的用户组 | 文件大小 | 最后修改日期 | 文件/文件夹名 | ||

权限信息 (例如:-rwxr-xr-x):
-
第一个字符表示文件类型:
-:普通文件d:文件夹(也就是目录)
-
接下来的九个字符表示文件的权限,分为三组,每组三个字符:
- 第一组:文件所有者(user)的权限
- 第二组:与文件所有者同组的用户(group)的权限
- 第三组:其他所有用户(others)的权限
每组的三个字符表示:
r:读权限 (read) w:写权限 (write) x:执行权限 (execute) -:无该权限
例子:rwx表示拥有读、写、执行权限;r--表示只有读权限;---表示没有任何权限
2、通配符*、?和[ ],以及\
- * :用于匹配零个或多个字符,它可以匹配任何字符,包括字母、数字、符号或空格。
- ?:用于匹配单个字符,不论该字符是什么,它可以替代文件名或路径中的一个字符。
- [ ]:用于匹配方括号内的任意单个字符,可以使用字符范围、特定字符集合、或者排除特定字符的方式来匹配。
- \:如果使用通配符作为普通字符使用,可以在其前面加上转义字符\,表示转移字符后面的符号不是通配符,而是普通字符
$ ls a?b
列出所有以 a 开头、b 结尾的文件,中间只能有一个字符。例如,acb、axb 等文件会匹配。
$ ls a*
列出所有以 a 开头的文件或目录。
$ ls *.txt
列出所有扩展名为 .txt 的文件,不管文件名前面的部分是什么。
$ ls file[123].txt
匹配 file1.txt、file2.txt 和 file3.txt,因为方括号内的字符集 [123] 表示匹配 1、2 或 3 其中的任何一个字符。
$ ls file[a-c].txt
匹配 filea.txt、fileb.txt 和 filec.txt,因为 [a-c] 是一个字符范围,表示匹配字母 a 到 c 之间的任意字符。
3*、cp:拷贝
cp [选项] 源文件 目标文件:将源文件复制到指定的位置。
cp 源文件夹 目标文件夹 -r:复制文件夹。
- 源文件:要复制的文件或目录。
- 目标文件:复制后的文件或目录。
- 如果目标是文件,则会将源文件复制为以目标文件名命名的新文件。
- 如果目标是目录,则会将源文件复制到该目录中。

4*、mv:移动、重命名
mv 命令是 Linux 中用于 移动 文件或目录,或者 重命名 文件或目录的命令。与 cp 命令不同,mv 是直接移动文件或目录,而不会创建副本。
mv [选项] 源文件 目标文件/目录
用法和cp类似,但是移动文件夹不需要-r。
- 如果目标是一个目录,
mv会将源文件或目录移动到该目标目录。 - 如果目标是一个文件名,
mv会将源文件重命名为目标文件名。
注意:文件名可以用指定是某某文件夹下的文件。如 mv 1.txt /home/admin/2.txt 将当前目录下的 1.txt 文件移动到 /home/admin/ 目录下,并重命名为 2.txt。如果目标路径中的 2.txt 已经存在,那么它会被覆盖。

补充总结:处理文件夹需要额外加字母的命令
$ rm -r
$ cp -r
$ mkdir -p
五、基本命令(二)
1、>和>>:重定向,本应显示在终端的内容保存到指定文件中
Linux默认输入命令显示到终端窗口,但
Linux允许将命令重定向到一个文件,让本应显示在终端的内容保存到指定文件中。
$ ls >test.txt (test.txt如果不存在就,创建文件并添加内容;存在则覆盖原本内容)
注意:>输出重定向会覆盖原来内容,>>输出重定向则会追加到文件末尾
2*、cat:查看文件内容,显示到终端
$ cat 1.txt 把文件的内容全部显示到屏幕中(注意只是显示,不能编辑)
$ cat 1.txt 2.txt 把多个文件的内容依次显示到屏幕中
$ cat 1.txt 2.txt >3.txt 把多个文件的内容合并到新的文件中
3、 more:查看内容比较多的文件内容,可以分页显示
查看内容时,在信息过长无法在一屏显示时候,会出现快速滚屏,使用户无法看清文件内容。
more 命令用于从开头逐页查看文本文件的内容。这对于查看大文件特别有用,因为它允许你一次查看一部分内容,而不是全部内容一次展示。
$ more 1.txt 查看内容多的文件,按空格键往下翻页,按b往回翻页,按q退出
4*、管道 | :把左边的命令返回的结果交给右边命令进行处理
“ | ”的左右分为两端,左端塞东西,右端取东西
$ ls / | more
-
ls /:列出根目录(/)下的所有文件和目录。 -
| more:通过管道符号将ls /的输出传递给more命令,以逐页显示内容。
$ ls -al / | grep 'home'
- 在根目录
/下列出所有文件和目录的详细信息,然后过滤出包含“home”这个关键字的行
5、ln:建立链接文件
类似于windows下的快捷方式
1️⃣*软链接
创建一个指向目标文件路径的快捷方式,它本身不存储内容,指向的是源文件的路径,而不是文件的实际数据。
- 当前目录下创建软链接,使用相对路径或直接引用文件名。指向的是源文件在当前目录中的路径。(有的说是名称,其实如果源文件和软连接在同一个目录下,而创建的时候源文件没有用绝对路径,而只是一个源文件名字,就算源文件被删掉了,新建一个同名文件即可,则只要本目录下有同名字的文件即可)
- 在其他目录创建软链接,必须明确指定源文件的绝对路径。
软链接不占磁盘空间,源文件删除则软链接失效。
$ ln -s 源文件 链接文件 创建软链接
$ ln -s 1.txt 1_link 给1.txt创建一个软链接,相当于快捷方式
注意:如果软链接文件和源文件不在同一个目录下,源文件要使用绝对路径,不能是相对路径
$ ln -s 1.txt ~/1_link 错误示例,写相对路径,软连接指向的文件是不存在的
$ ln -s /home/damin/1.txt ~/1_link 正确示例,给其他目录创建一个软连接
$ ln -s abc abc_link 给目录创建软链接
2️⃣硬链接
硬链接是指不同的文件名指向相同的磁盘数据块,本身占空间,而不是路径,硬链接大小和内容与源文件保持同步变化,删掉硬链接不影响源文,且源文件被删除后,数据仍然可通过硬链接访问,直到指向该磁盘数据块的所有硬链接都删掉后,数据才不能被访问(此时源文件和所有硬链接都不存在了)。
硬链接只能链接文件,不能链接目录(文件夹)。
$ ln 源文件 链接文件 创建硬链接
3️⃣区别

6*、grep:查找文件内容,并输出
$ grep [-选项] "搜索模式" 文件 查找文件包含指定内容的行
$ grep [-选项] "搜索模式" 目录(文件夹)-r 指定目录及其所有子目录中的文件中搜索匹配的行。
搜索模式:可以是普通字符串或正则表达式。文件:要搜索的目标文件。
1️⃣搜索字符串
$ grep "hello" test.txt 在某个文件中查找包含hello的内容,只要一行中有hello就会把整行显示
$ grep -niv "hello" test.txt n显示查找内容的行号,i查找时不区分大小写,v反向查找,查找不包含hello的行
$ grep -n "hello" /home/admin-r 查找整个目录中的所有文件,包含hello的行
2️⃣使用正则表达式
使用^和$
$ grep "^ERROR" logfile.txt 匹配以ERROR开头的行。
$ grep "done$" logfile.txt 匹配以done结尾的行。
$ grep "[0-9]" file.txt 匹配包含数字的行。
7*、find:查找文件
在特定目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件
$ find /home -name '1.txt' 在/home目录下查找文件名为1.txt的文件
$ find /home -name '*txt' 在/home目录下查找以txt结尾的文件
8、tar:只打包多个文件,不压缩
把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
$ tar [参数] 打包文件名 文件
$ tar cvf a.tar 1.txt 2.txt 打包,f必须放在最后,f后面的第一个参数代表要生成的文件名,后面所有的参数是要打包的而文件
$ tar tf a.tar 列出包里面的文件
$ tar xvf a.tar 解包,如果没写目录,把包里面的文件解开放到当前目录
$ tar xvf a.tar -C atar 使用 -C 指定解压的目标目录。文件夹要提前创建好。

9、文件压缩解压:gzip (工作时候不用)
1️⃣压缩
①打包
$ tar cf a.tar * 生成a.tar文件
②压缩
$ gzip -r a.tar 生成a.tar.gz文件
2️⃣解压
①解压
$ gzip -d a.tar.gz 生成a.tar文件
②解包
$ tar xf a.tar -C ~/atar 解包到指定文件夹
10、一步到位压缩解压
1️⃣*gzip:
tar和gzip结合使用
Linux环境中最常用这种方式
$ tar czf b.tar.gz *txt 以gzip方式打包并且压缩
$ tar xzf b.tar.gz -C btar 以gzip方式解压并解包,如果 btar 目录不存在,则需要先手动创建该目录。
代码第二行:如果没有指定 -C 选项,文件会解压到当前工作目录。
2️⃣bzip2
tar和bzip2结合使用
$ tar cjf j.tar.bz2 *txt 以jzip2方式打包并且压缩
$ tar xjf j.tar.bz2 -C jtar 以jzip2方式解压并解包
3️⃣zip
$ zip -r zz *txt zz代表要生成的压缩文件,不需要写扩展名,会自动生成zip扩展名
$ unzip -d zz zz.zip 解压时会自动创建zz目录
![]()
11、其他命令
which(查找命令位置)、su(切换用户)、passwd(更改用户密码)、exit(退出登录账户)、who(查看当前登录账户,pts代表一个终端,tty代表用户登录了操作系统)、reboot(重启,不需要root权限)、shutdown(关机,需要root权限)
su命令:
$ su [选项] [用户名]
$ su 切换到root用户,需要输入root用户的密码。切换后提示符变为 #
$ su username 切换到指定用户,需要输入username用户的密码。切换后提示符仍为 $
默认行为:
- 如果不指定用户名,
su默认切换到 root 用户。切换后,提示符变为#,表示处于超级用户权限。 - 切换用户时,需输入目标用户的密码

被折叠的 条评论
为什么被折叠?



