目录
《小菜狗 Linux 操作系统快速入门笔记》目录:
《小菜狗 Linux 操作系统快速入门笔记》(01.0)文章导航目录【实时更新】
1、总结【重要】
Linux 系统中常用处理目录的命令:
ls:列出路径下的文件与目录;tree:以树状图显示路径下的文件夹及文件;cd:切换目录;mkdir:创建一个新的目录;rmdir:删除一个空的目录;touch:创建一个新的文件cp:复制文件或目录;rm:移除文件或目录;mv:移动文件与目录,或修改文件与目录的名称;pwd:显示目前的目录;which:查看命令的可执行文件所在路径;
你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。
2、列出路径下的文件与目录命令【ls】
在 Linux 系统当中, ls 命令可能是最常被运行的。
【语法】
ls [-aAdfFhilnrRSt] 文件名称或目录名称
【常用参数】
-a 或 --all:全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来;【常用】-l:以长格式(详细信息)列出文件,包含文件的属性与权限等数据;【常用】-d 或 --directory:仅列出目录本身,而不是列出目录内的文件数据;-R 或 --recursive:若列出对象为路径且目录下有文件,则将所有文件依序列出;【常用】-t:按照最后修改时间顺序列出文件,由旧到新;【常用】-h 或 --human-readable:以人类可读的格式显示文件大小(K、M、G等);【常用】-A 或 --almost-all:显示除 . 和 … 外的所有文件(包括隐藏文件);-r 或 --reverse:反向排序(配合 -t、-S 等使用);-S:按文件大小排序(大文件优先);-F 或 --classify:在文件名后附加标识符(如 / 表示目录,* 表示可执行文件);-i 或 --inode:显示文件的 inode 编号;-n 或 --numeric-uid-gid:以数字形式显示 UID 和 GID(替代用户名和组名);-1:每行只显示一个文件(默认在终端宽度不足时自动启用);-m:以逗号分隔的列表形式显示文件;-Q 或 --quote-name:用引号括住文件名(适用于含空格的文件名);--group-directories-first:先显示目录,后显示文件;--time-style=<格式>:自定义时间显示格式(如 +%Y-%m-%d);--color:彩色输出(通常默认启用,–color=auto);--help在标准输出上显示帮助信息;--version在标准输出上输出版本信息并退出。
【举例】
- 列出根目录下的所有目录:
[root@xiaocaigou ~]# ls /
bin dev lib media net root srv upload www
boot etc lib64 misc opt sbin sys usr
home lost+found mnt proc selinux tmp var
- 详细列出当前目录所有文件(含隐藏文件):
[root@xiaocaigou ~]# ls -la
- 按大小反向排序文件(大文件优先):
[root@xiaocaigou ~]# ls -lShr
- 递归列出 /var/log 目录内容,并显示人类可读的文件大小:
[root@xiaocaigou ~]# ls -lhR /var/log
- 仅显示目录的详细信息(不递归):
[root@xiaocaigou ~]# ls -ld /etc
- 按修改时间排序(最新文件最后显示):
[root@xiaocaigou ~]# ls -ltr
【进阶用法】
- 当文件名包含空格、特殊字符或者开始字符为破折号时,可以使用反斜杠(\)进行转义,或者使用引号将文件名括起来。例如:
[root@xiaocaigou ~]# ls "my file.txt" # 列出文件名为"my file.txt"的文件
[root@xiaocaigou ~]# ls my\ file.txt # 列出文件名为"my file.txt"的文件
[root@xiaocaigou ~]# ls -- -filename # 列出文件名为"-filename"的文件
- ls 命令还可以使用通配符进行模式匹配,例如 * 表示匹配任意字符,? 表示匹配一个字符,[…] 表示匹配指定范围内的字符。例如:
ls *.txt # 列出所有扩展名为.txt的文件
ls file?.txt # 列出文件名为file?.txt的文件,其中?表示任意一个字符
ls [abc]*.txt # 列出以a、b或c开头、扩展名为.txt的文件
如列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面:
ls -ltr s*
3、以树状图列出路径下的文件与目录命令【tree】
将某路径下文件夹及文件以树状图展示,比 ls 命令直观!
【语法】
tree
【常用参数】
-a:显示所有文件和目录;-A:使用ASNI绘图字符显示树状图而非以ASCII字符组合;-d:只显示目录;-D:列出文件或目录的更改时间;-f:在每个文件或目录之前,显示完整的相对路径名称;-L:后接数字,显示到第几级子目录;-s:列出文件或目录大小;-t:用文件和目录的更改时间排序。
【举例】
以树状图列出 /etc/kernel 目录结构:
![[Pasted image 20250530152118.png]]
4、切换目录命令【cd】
cd是英语 change directory的缩写,用来切换工作目录的命令。
另外:~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, … 则表示目前目录位置的上一层目录。
【语法】
cd [相对路径或绝对路径]
【注意事项】
- 比如想要切换到
home目录下,输入cd /ho后,单次tab键会自动补全路径! - 如果不知道路径的全部名字,输入
cd /ho后,两次tab键会列出所有可能的目录列表! cd 空格或者cd ~表示返回用户主目录;cd ..表示返回上一级目录(返回上两级则是cd ../..表示返回上两级)!
【使用指导】
cd / :跳转到根目录
cd ~ :跳转到家目录
cd :不添加任何参数,也是回到家目录
cd .. :跳转到上级目录
cd ./home :跳转到当前目录的home目录下
cd /home/lion :跳转到根目录下的home目录下的lion目录
【举例】
- 切换到用户目录下
[root@xiaocaigou /]# cd home
- 使用 mkdir 命令创建 kuangstudy 目录
[root@xiaocaigou home]# mkdir kuangstudy
- 进入 kuangstudy 目录
[root@xiaocaigou home]# cd kuangstudy
- 回到上一级
[root@xiaocaigou kuangstudy]# cd ..
- 回到根目录
[root@xiaocaigou kuangstudy]# cd /
cd 空格或者cd ~表示回到自己的家目录,亦即是 /root 这个目录
[root@xiaocaigou kuangstudy]# cd ~
cd ../..表示返回上两级
[root@xiaocaigou kuangstudy]# cd ../..
5、创建新目录命令【mkdir】
【语法】
mkdir [-mp] 目录名称
【常用参数】
- -m :配置文件的权限![直接配置,不需要看默认权限
umask的脸色~] - -p :递归创建多级目录!不存在的就创建。
【举例】
- 进入我们用户目录下
[root@xiaocaigou /]# cd /home
- 创建一个 test 文件夹
[root@xiaocaigou home]# mkdir test
- 创建多层级目录
[root@xiaocaigou home]# mkdir test1/test2/test3/test4
mkdir: cannot create directory ‘test1/test2/test3/test4’:
No such file or directory
说明 mkdir 没办法直接创建多重目录啊!
加了这个 -p 的选项,可以自行帮你创建多层目录!
[root@xiaocaigou home]# mkdir -p test1/test2/test3/test4
- 创建权限为 rwx–x–x 的目录。
[root@xiaocaigou home]# mkdir -m 711 test2
[root@xiaocaigou home]# ls -l
drwxr-xr-x 2 root root 4096 Mar 12 21:55 test
drwxr-xr-x 3 root root 4096 Mar 12 21:56 test1
drwx--x--x 2 root root 4096 Mar 12 21:58 test2
6、删除空目录命令【rmdir】
【语法】
rmdir [-p] 目录名称
【常用参数】
-p:连同上一级『空的』目录也一起删除;
【使用指导】
这个 rmdir 命令仅能删除空的目录,你可以使用 rm 命令来删除非空目录,后面我们会讲!
【举例】
- 看看有多少目录存在?
[root@xiaocaigou home]# ls -l
drwxr-xr-x 2 root root 4096 Mar 12 21:55 test
drwxr-xr-x 3 root root 4096 Mar 12 21:56 test1
drwx--x--x 2 root root 4096 Mar 12 21:58 test2
- 可直接删除掉,没问题
[root@xiaocaigou home]# rmdir test
- 因为尚有内容,所以无法删除!
[root@xiaocaigou home]# rmdir test1
rmdir: failed to remove ‘test1’: Directory not empty
- 利用 -p 这个选项,立刻就可以将 test1/test2/test3/test4 依次删除。
[root@xiaocaigou home]# rmdir -p test1/test2/test3/test4
7、创建新文件命令【touch】
touch 命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
【语法】
touch [-acfm] 文件名称或目录名称…
【常用参数】
-a:改变档案的读取时间记录;-m:改变档案的修改时间记录;-c:假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样;-f:不使用,是为了与其他 unix 系统的相容性而保留;-r:使用参考档的时间记录,与 --file 的效果一样;-d:设定时间与日期,可以使用各种不同的格式;-t:设定档案的时间记录,格式与 date 指令相同;--no-create:不会建立新档案;--help:列出指令格式;--version:列出版本讯息。
【使用指导】
创建新的文件(而不是文件夹)!
【举例】
- 在当前目录下,使用该指令创建一个空白文件"file":
[root@xiaocaigou home]# touch file
- 修改文件"testfile"的时间属性为当前系统时间:
(1)使用 ls 命令查看 testfile 文件的属性
#原来文件的修改时间为16:09
[root@xiaocaigou home]# ls -l testfile
-rw-r--r-- 1 hdd hdd 55 2011-08-22 16:09 testfile
(2)执行指令"touch"修改文件属性
#修改文件时间属性为当前系统时间
[root@xiaocaigou home]# touch testfile
(3)再次查看该文件的时间属性
#查看文件的时间属性,修改后文件的时间属性为当前系统时间
[root@xiaocaigou home]# ls -l testfile
-rw-r--r-- 1 hdd hdd 55 2011-08-22 19:53 testfile
8、复制文件或目录命令【cp】
Linux cp(英文全拼:copy file)命令主要用于复制文件或目录。
通过 cp 命令,用户可以将文件或目录从一个位置复制到另一个位置,同时可以选择保留原文件的属性(如权限、时间戳等)。
【语法】
cp [-adfilprsu] 来源(source) 目标(destination)
【常用参数】
-a:相当于 -pdr 的意思,至于 pdr 请参考下列说明;-p:连同文件的属性一起复制过去,而非使用默认属性;-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;-r:递归持续复制,用于目录的复制行为;【常用】-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;【常用】-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行【常用】-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身。-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;-u:若 destination 比 source 旧才升级 destination !
【使用指导】
【cp file file_copy】:file 是目标文件,file_copy 是拷贝出来的文件;
【ccp file path】:把 file 文件拷贝到 path 目录下,并且文件名依然为 file;
【ccp file path/file_copy 】:把 file 文件拷贝到 path 目录下,文件名为 file_copy;
【ccp *.txt folder】:把当前目录下所有 txt 文件拷贝到 folder 目录下;
【注意事项】
- 如果目标路径是一个目录,
cp会将源文件或目录复制到该目录中。 - 如果目标路径是一个文件名,
cp会将源文件复制并重命名为目标文件名。 - 复制目录时,必须使用
-r或-R选项,否则会报错。 - 如果目标文件已存在,默认情况下
cp会覆盖它(除非使用-i选项)。
【举例】
- 复制文件到目标目录,将 file.txt 复制到 /path/to/destination/ 目录中
[root@xiaocaigou home]# cp file.txt /path/to/destination/
- 复制文件并重命名,将 file.txt 复制到 /path/to/destination/ 目录并重命名为 newfile.txt
[root@xiaocaigou home]# cp file.txt /path/to/destination/newfile.txt
- 递归复制目录,将 source_dir 目录及其内容递归复制到 destination 目录
[root@xiaocaigou home]# cp -r /path/to/source_dir /path/to/destination/
- 交互模式复制,如果目标位置已存在同名文件,会提示用户确认是否覆盖
[root@xiaocaigou home]# cp -i file.txt /path/to/destination/
如:
# n不覆盖,y为覆盖
[root@xiaocaigou home]# cp -i /root/install.sh /home
cp: overwrite ‘/home/install.sh’? y
- 复制文件并保留其原始属性(如权限、时间戳等)
[root@xiaocaigou home]# cp -p file.txt /path/to/destination/
- 仅复制更新的文件,仅当 file.txt 比目标文件新时才复制
[root@xiaocaigou home]# cp -u file.txt /path/to/destination/
- 显示复制过程
[root@xiaocaigou home]# cp -v file.txt /path/to/destination/
【进阶用法】
- 创建硬链接或符号链接
[root@xiaocaigou home]# cp -l file.txt /path/to/destination/ # 创建硬链接
[root@xiaocaigou home]# cp -s file.txt /path/to/destination/ # 创建符号链接
- 将多个文件复制到目标目录
[root@xiaocaigou home]# cp file1.txt file2.txt /path/to/destination/
- 使用通配符复制,复制所有 .txt 文件到目标目录
[root@xiaocaigou home]# cp *.txt /path/to/destination/
- 结合 find 命令复制特定文件,查找并复制所有 .log 文件到目标目录
[root@xiaocaigou home]# find /path/to/source -name "*.log" -exec cp {} /path/to/destination/ \;
9、删除文件或目录命令【rm】
用户可以用 rm 命令删除不需要的文件。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。
- 对于链接文件,只是断开了链接,原文件保持不变。
删除文件和目录,由于 Linux 下没有回收站,一旦删除非常难恢复,因此需要谨慎操作!!
【语法】
rm [-rfi] 文件或目录
【常用参数】
-f:就是 force 的意思,忽略不存在的文件,不会出现警告信息;-i:互动模式,在删除前会询问使用者是否动作;-r:用于目录的删除!-d:删除目录;-v:详细显示进行的步骤;--help:显示此帮助信息并离开--version:显示版本信息并离开
【举例】
- 删除 new_file 文件;
[root@xiaocaigou home]# rm new_file
- 不管是文件夹还是文件都会直接强制删除,新手一定要小心!
[root@xiaocaigou home]# rm -rf new_file
- 同时删除 f1 f2 f3 这 3 个文件:
[root@xiaocaigou home]# rm f1 f2 f3
- 删除第一个字符为 ‘-’ 的文件 (例如 ‘-foo’)
[root@xiaocaigou home]# rm -- -foo
或者
[root@xiaocaigou home]# rm ./-foo
【整体演示】
- 删除文件直接使用 rm 命令,若删除目录则必须配合选项"-r"。
[root@xiaocaigou home]# rm test.txt
rm:是否删除 一般文件 "test.txt"? y
[root@xiaocaigou home]# rm homework
rm: 无法删除目录"homework": 是一个目录
[root@xiaocaigou home]# rm -r homework
rm:是否删除 目录 "homework"? y
10、移动文件与目录命令【mv】
mv 命令不仅仅可以移动文件与目录,还可以修改文件与目录的名称`!
【语法】
mv [-fiu] source destination
mv [options] source1 source2 source3 .... directory
【常用参数】
-f:force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;-i:若目标文件 (destination) 已经存在时,就会询问是否覆盖!-u:若目标文件已经存在,且 source 比较新,才会升级 (update);-n: 不要覆盖任何已存在的文件或目录。
【使用指导】
mv file path --> 将 file 文件移动到 path 目录下;
mv new_folder path --> 将 new_folder 文件夹移动到 path 目录下;
mv *.txt folder --> 把当前目录下所有 txt 文件移动到 folder 目录下;
mv file new_file --> file 文件重命名为 new_file;
【举例】
- 对文件重命名,将文件 aaa 改名为 bbb :
[root@xiaocaigou home]# mv aaa bbb
- 将 info 目录放入 logs 目录中
- 注意,如果 logs 目录不存在,则该命令将 info 改名为 logs
[root@xiaocaigou home]# mv info/ logs
- 将 /usr/runoob 下的所有文件和目录移到当前目录下
[root@xiaocaigou home]# mv /usr/runoob/* .
【整体演示】
# 复制一个文件到当前目录
[root@xiaocaigou home]# cp /root/install.sh /home
# 创建一个文件夹 test
[root@xiaocaigou home]# mkdir test
# 将复制过来的文件移动到我们创建的目录,并查看
[root@xiaocaigou home]# mv install.sh test
[root@xiaocaigou home]# ls
test
[root@xiaocaigou home]# cd test
[root@xiaocaigou test]# ls
install.sh
# 将文件夹重命名,然后再次查看!
[root@xiaocaigou test]# cd ..
[root@xiaocaigou home]# mv test mvtest
[root@xiaocaigou home]# ls
mvtest
11、显示当前目录路径命令【pwd】
pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。
【语法】
pwd [-P]
【常用参数】
-P:显示出实际路径,而非使用连接(link) 的路径;
【举例】
- 单纯显示出目前的工作目录
[root@xiaocaigou ~]# pwd
/root
- 如果是链接,要显示真实地址,可以使用 -P参数
[root@xiaocaigou /]# cd bin
[root@xiaocaigou bin]# pwd -P
/usr/bin
12、查看命令可执行文件的所在路径命令【which】
Linux下,每一个命令其实都是对应着一个可执行程序,在终端中输入命令,按回车的时候,就是执行了对应命令的程序,which命令本身对应的程序也存在于Linux中。
- 总的来说一个命令就是一个可执行程序。
【语法】
which [a] 文件名称...
【举例】
使用指令"which"查看指令"bash"的绝对路径
[root@xiaocaigou ~]# which bash
/bin/bash
《小菜狗 Linux 操作系统快速入门笔记》目录:
《小菜狗 Linux 操作系统快速入门笔记》(01.0)文章导航目录【实时更新】
每日一更!
公众号、优快云等博客:小菜狗编程笔记
谢谢点赞关注哈!目前在飞书持续优化更新~
日更较慢有需要完整笔记请私我,C/C++/数据结构-算法/单片机51-STM32-GD32-ESP32/嵌入式/Linux操作系统/uboot/Linux内核-驱动-应用/硬件入门-PCB-layout/Python/后期小程序和机器学习!

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



