【Linux】初见,基础指令
pwd指令
语法:pwd
功能:显示当前所在位置(路径)。
代码语言:javascript
AI代码解释
root@hcss-ecs-4ce7:~# pwd
/root
root@hcss-ecs-4ce7:~/path1# pwd
/root/path1
ls指令
语法:ls 选项 文件或目录
功能:对于目录,显示这个目录中所有子目录和文件。对于文件,显示文件名和其他信息。若没有给出指定的文件或目录,则显示当前所在位置的文件或目录。若没有选项则只显示文件名,不显示其他信息。
常用选项
-l 列出详细信息。
代码语言:javascript
AI代码解释
root@hcss-ecs-4ce7:~# ls
my.txt my.zip new new.txt path1 path.tgz snap temp.txt
root@hcss-ecs-4ce7:~# ls -l
total 52
-rw-r--r-- 1 root root 21 May 18 14:29 my.txt
-rw-r--r-- 1 root root 183 May 18 14:38 my.zip
drwxr-xr-x 2 root root 4096 May 18 22:12 new
-rw-r--r-- 1 root root 14 May 18 11:35 new.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
-rw-r--r-- 1 root root 274 May 18 22:00 path.tgz
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
root@hcss-ecs-4ce7:~# ls -l path1
total 8
-rw-r--r-- 1 root root 0 May 14 20:35 myfile.txt
-rw-r--r-- 1 root root 21 May 18 14:29 my.txt
drwxr-xr-x 3 root root 4096 May 14 23:37 path2
补充:
Linux中目录即为windows中的文件夹 。
建立空文件也会占用磁盘空间,因为文件=文件属性+文件内容,即使内容为空,属性也不会为空。
Linux不同于windows不依靠后缀名来区别文件和目录,而是靠文件属性中第一个字母区别

Linux中的路径分割符为:/,而windows中的为:\
cd指令
cd指令是关于Linux目录路径的指令。
不论是那个操作系统中,目录都是以一个多叉树的形式实现的。Linux中的根目录用 " / "表示。文件或空目录一定是叶子节点。
绝对路径:从 / 开始不依靠其他路径定位位置。
相对路径:通过当前所处路径,定位出位置。
绝对路径不会因为用户位置的改变而导致定位位置改变,通常用于特定服务中配置文件的操作,而相对路径由于其使用简洁方便,常用于命令行。
Linux中存在以 " . "开头的文件,我们称作隐藏文件,不论什么目录里面都会有 " . " 和 " .. "这两个隐藏文件

语法:cd 目录名
功能:改变当前目录到指定的目录下。
常用目录名
相对路径 绝对路径 " .. " " ~ " " - "
代码语言:javascript
AI代码解释
root@hcss-ecs-4ce7:~# pwd #查看当前所处目录
/root
root@hcss-ecs-4ce7:~# cd /root/path1 #绝对路径,进入到指定的目录下
root@hcss-ecs-4ce7:~/path1# pwd
/root/path1
root@hcss-ecs-4ce7:~# pwd
/root
root@hcss-ecs-4ce7:~# cd ./path1 #相对路径,‘.’表示当前目录
root@hcss-ecs-4ce7:~/path1# pwd
/root/path1
root@hcss-ecs-4ce7:~/path1# pwd
/root/path1
root@hcss-ecs-4ce7:~/path1# cd .. #".."表示上层目录,这里表达返回上一层目录
root@hcss-ecs-4ce7:~# pwd
/root
root@hcss-ecs-4ce7:~# pwd
/root
root@hcss-ecs-4ce7:~# cd - #表示进入最近的一次访问的目录
/root/path1
root@hcss-ecs-4ce7:~/path1# pwd
/root/path1
root@hcss-ecs-4ce7:~/path1# pwd
/root/path1
root@hcss-ecs-4ce7:~/path1# cd ~ #表示返回家目录,不写~也可以
root@hcss-ecs-4ce7:~# pwd
/root
补充:
cd ~ 返回家目录。对于root账号而言是返回 /root ,对于普通账号而言是返回 /home/xxx(自己的账号名)
touch指令
语法:touch 选项 文件名
功能:对于一个存在的文件,改变其日期时间。对于不存在的文件,新建这个文件。
常用选项:
-a: change only the a ccess time -m: change only the modification time
代码语言:javascript
AI代码解释
root@hcss-ecs-4ce7:~# ls -l
total 52
-rw-r--r-- 1 root root 21 May 18 14:29 my.txt
-rw-r--r-- 1 root root 183 May 18 14:38 my.zip
drwxr-xr-x 2 root root 4096 May 18 22:12 new
-rw-r--r-- 1 root root 14 May 18 11:35 new.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
-rw-r--r-- 1 root root 274 May 18 22:00 path.tgz
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
root@hcss-ecs-4ce7:~# touch aaaaa.txt #创建文件
root@hcss-ecs-4ce7:~# ls -l
total 52
-rw-r--r-- 1 root root 0 May 19 16:59 aaaaa.txt
-rw-r--r-- 1 root root 21 May 18 14:29 my.txt
-rw-r--r-- 1 root root 183 May 18 14:38 my.zip
drwxr-xr-x 2 root root 4096 May 18 22:12 new
-rw-r--r-- 1 root root 14 May 18 11:35 new.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
-rw-r--r-- 1 root root 274 May 18 22:00 path.tgz
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
补充:stat命令,功能:查看文件的详细信息。用过stat我们就可以观察到touch修改时间的操作
代码语言:javascript
AI代码解释
root@hcss-ecs-4ce7:~# stat new.txt
File: new.txt
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: fc01h/64513d Inode: 151998 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2025-05-18 11:35:22.012539536 +0800
Modify: 2025-05-18 11:35:19.900507212 +0800
Change: 2025-05-18 11:35:19.900507212 +0800
Birth: 2025-05-15 10:42:29.595967837 +0800

修改时间:
代码语言:javascript
AI代码解释
root@hcss-ecs-4ce7:~# stat new.txt
File: new.txt
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: fc01h/64513d Inode: 151998 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2025-05-18 11:35:22.012539536 +0800
Modify: 2025-05-18 11:35:19.900507212 +0800
Change: 2025-05-18 11:35:19.900507212 +0800
Birth: 2025-05-15 10:42:29.595967837 +0800
//修改access时间
root@hcss-ecs-4ce7:~# touch touch -a new.txt
root@hcss-ecs-4ce7:~# stat new.txt
File: new.txt
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: fc01h/64513d Inode: 151998 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2025-05-19 17:07:15.106092725 +0800
Modify: 2025-05-18 11:35:19.900507212 +0800
Change: 2025-05-19 17:07:15.106092725 +0800 //我们发现这个也发生了修改,这里牵扯其他知识,后面再详细介绍
Birth: 2025-05-15 10:42:29.595967837 +0800
//修改modify时间
root@hcss-ecs-4ce7:~# touch -m new.txt
root@hcss-ecs-4ce7:~# stat new.txt
File: new.txt
Size: 14 Blocks: 8 IO Block: 4096 regular file
Device: fc01h/64513d Inode: 151998 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2025-05-19 17:07:15.106092725 +0800
Modify: 2025-05-19 17:08:59.171702276 +0800
Change: 2025-05-19 17:08:59.171702276 +0800
Birth: 2025-05-15 10:42:29.595967837 +0800
mkdir指令
语法:mkdir 选项 目录名或路径
功能:在当前位置下创建目录
常用选项:
-p (指定路径创建目录,当目录中有不存在的目录时,直接创建)
代码语言:javascript
AI代码解释
root@hcss-ecs-4ce7:~# mkdir new #在当前位置下创建一个目录
root@hcss-ecs-4ce7:~# ls -l
total 40
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 2 root root 4096 May 19 17:22 new
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
//指定路径,创建多个目录
root@hcss-ecs-4ce7:~# mkdir -p path/path1/path2/path3
root@hcss-ecs-4ce7:~# ls -l
total 40
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 19 17:24 path
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
root@hcss-ecs-4ce7:~# tree path //通过tree指令我们可以看到形象的路径
path
└── path1
└── path2
└── path3
3 directories, 0 files
补充:tree指令,可以形象的将一个目录里的内容展示出来。若没有安装可更加系统提示安装。
rmdir&rm指令
语法:rmdir 选项 目录名或路径
功能:删除空目录
选项:
-p (当删除子目录时,如果父目录也变成了空目录,则一并删除)
代码语言:javascript
AI代码解释
root@hcss-ecs-4ce7:~# ls -l
total 40
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 19 17:24 path
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
//当删除子目录时,如果父目录也变成了空目录,则一并删除
root@hcss-ecs-4ce7:~# rmdir -p path/path1/path2/path3
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
rmdir的弊端在于只能删除空目录,当目录中有内容则无法删除,但rm指令可以
语法:rm 选项 目录名或路径
功能:删除目录或文件
选项:-f 即使是只读文件,也直接删除 -r 删除目录及其包含的所有文件 -i 删除前逐一询问确认
限制:只针对root账号、或普通账号自己创建的目录或文件
代码语言:javascript
AI代码解释
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
-rw-r--r-- 1 root root 0 May 19 17:41 new.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
//删除普通文件
root@hcss-ecs-4ce7:~# rm new.txt
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
root@hcss-ecs-4ce7:~# touch new1.txt
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
-rw-r--r-- 1 root root 0 May 19 17:42 new1.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
//删除前询问
root@hcss-ecs-4ce7:~# rm -i new1.txt
rm: remove regular empty file 'new1.txt'? y
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
root@hcss-ecs-4ce7:~# mkdir -p path/path1/path2/path3
root@hcss-ecs-4ce7:~# ls -l
total 40
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 19 17:44 path
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
//删除目录及其所包含的所有文件
root@hcss-ecs-4ce7:~# rm -r path
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
root@hcss-ecs-4ce7:~# mkdir -p path/path1/path2/path3
root@hcss-ecs-4ce7:~# ls -l
total 40
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 19 17:47 path
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
//删除前询问确认
root@hcss-ecs-4ce7:~# rm -ir path
rm: descend into directory 'path'? y
rm: descend into directory 'path/path1'? y
rm: descend into directory 'path/path1/path2'? y
rm: remove directory 'path/path1/path2/path3'? y
rm: remove directory 'path/path1/path2'? y
rm: remove directory 'path/path1'? y
rm: remove directory 'path'? y
root@hcss-ecs-4ce7:~# ls -l
total 36
-rw-r--r-- 1 root root 21 May 19 17:00 my.txt
drwxr-xr-x 3 root root 4096 May 18 14:43 path1
drwx------ 3 root root 4096 Aug 9 2024 snap
-rw-r--r-- 1 root root 22902 May 18 11:51 temp.txt
man指令
语法:man 选项 指令
功能:当我们忘记一个指令怎么使用时,可以使用man来查询。
选项
通常为1-9
补充:man手册分为9章
1是普通的命令 2是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调⽤这个函数,需要加什么 头文件) 3是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备⽂件 4略 5是指⽂件的格式,比如passwd,就会说明这个文件中各个字段的含义 6是给游戏留的,由各个游戏自己定义 7是附件还有⼀些变量,比如像environ这种全局变量在这里就有说明 8是系统管理用的命令,这些命令只能由root使用,如ifconfig 9略
选项中不给出具体数字,man就会从第一章开始找直到找到。反之如果给出具体数字,man就只会去对应的第几章去找。
代码语言:javascript
AI代码解释
root@hcss-ecs-4ce7:~# man printf # 查看printf指令(没错,printf也是⼀个指令)
root@hcss-ecs-4ce7:~# man fork # 查看系统调⽤,默认没有这个指令,man就⾃动去2号⼿册查找
root@hcss-ecs-4ce7:~# man 2 frok # 查看系统调⽤
root@hcss-ecs-4ce7:~# man 3 printf # 查看C库函数
root@hcss-ecs-4ce7:~# man 7 signal # 查看变量
root@hcss-ecs-4ce7:~# man 7 environ
root@hcss-ecs-4ce7:~# man man # 查看man⼿册⾃⼰
echo指令
语法:echo 选项 内容
功能:打印内容或将内容放入文件中
代码语言:javascript
AI代码解释
#将echo后面的内容作为字符串,打印出来
root@hcss-ecs-4ce7:~# echo "你好世界"
你好世界
root@hcss-ecs-4ce7:~# echo test.cpp
test.cpp
#利用 > 进行重定向操作
root@hcss-ecs-4ce7:~# ls
my.txt path1 snap temp.txt
root@hcss-ecs-4ce7:~# echo "你好世界">new.txt
root@hcss-ecs-4ce7:~# ls
my.txt new.txt path1 snap temp.txt
root@hcss-ecs-4ce7:~# cat new.txt
你好世界
# >>进行追加重定向
root@hcss-ecs-4ce7:~# echo "明天你好">>new.txt
root@hcss-ecs-4ce7:~# cat new.txt
你好世界
明天你好
# < 输入重定向,与cat new.txt效果上无异
root@hcss-ecs-4ce7:~# cat <new.txt
你好世界
明天你好
补充:重定向有两个特点:1.如果重定向的文件不存在,则创建文件再写入内容。2.如果文件存在则清空文件再写入内容(既覆盖)。
更多推荐



所有评论(0)