Linux详解基本指令(一)
✨✨ 欢迎大家来到小伞的大讲堂✨✨
🎈🎈养成好习惯,先赞后看哦~🎈🎈
所属专栏:LInux_st
小伞的主页:xiaosan_blog制作不易!点个赞吧!!谢谢喵!!!
目录
ls指令
pwd 命令
cd 指令
Linux理论知识:路径的认识
touch 指令
mkdir指令
rmdir指令&&rm指令
man 指令
ls指令
语法:ls[选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信
息。
常用选项:
- -a列出目录下的所有文件,包括以.开头的隐含文件。
- -d 将目录像文件一样显示,而不是显示其下的文件。如:ls-d指定目录
- -i输出文件的i节点的索引l信息。如ls-ai指定文件
- -k以k字节的形式表示文件的大小。Is-all指定文件
- -l列出文件的详细信息
- -n用数字的UID,GID代替名称。(介绍UID,GID)
- -F在每个文件名后附上一个字符以说明该文件的类型,*””表示可执行的普通文件;“”表示目录;“@”表示符号链接;“|”表示FIFOS;;“=”表示套接字(sockets)。(目录类型识别)
- -r对目录反向排序
- -t以时间排序
- -s在I文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
- -R列出所有子目录下的文件。(递归)
- -1一行只输出一个文件。
zrj@hcss-ecs-4d17:~$ ls
linux-gcc
zrj@hcss-ecs-4d17:~$ ls -a
. .bash_logout .dotnet .profile .vimplus .vimrc.custom.config .wget-hsts
.. .bashrc linux-gcc .vim .vimrc
zrj@hcss-ecs-4d17:~$ ls -a -l
total 72 <-文件大小
drwxr-xr-x 9 zrj zrj 4096 Apr 19 19:35 .
drwxr-xr-x 3 root root 4096 Apr 13 18:14 ..
-rw------- 1 zrj zrj 2680 Apr 20 22:56 .bash_history
drwxrwxr-x 15 zrj zrj 4096 Apr 20 22:26 linux-gcc
zrj@hcss-ecs-4d17:~$ ls -a -l -F
total 72
drwxr-xr-x 9 zrj zrj 4096 Apr 19 19:35 ./
drwxr-xr-x 3 root root 4096 Apr 13 18:14 ../
-rw------- 1 zrj zrj 2680 Apr 20 22:56 .bash_history
drwxrwxr-x 15 zrj zrj 4096 Apr 20 22:26 linux-gcc/
zrj@hcss-ecs-4d17:~$ ls -alFn 与 ls -a -l -F同等功能
total 72
drwxr-xr-x 9 1000 1000 4096 Apr 19 19:35 ./
drwxr-xr-x 3 0 0 4096 Apr 13 18:14 ../
-rw------- 1 1000 1000 2680 Apr 20 22:56 .bash_history
drwxrwxr-x 15 1000 1000 4096 Apr 20 22:26 linux-gcc/
pwd 命令
语法:pwd
功能:显示用户当前所在的目录
常用选项:无
举例:
zrj@hcss-ecs-4d17:~$ pwd
/home/zrj
cd 指令
Linux理论知识:路径的认识
- Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件
- 其中普通文件一定是目录树的叶子节点
- 目录可能是叶子(空目录),也可能是路上节点
- 理解路径存在的意义:树状组织方式,都是为了保证快速定位查找到指定的文件,而定位文件就需要具有唯一性的方案来进行定位文件。其中任何一个节点,都只有一个父节点,所以,从根目录开始,定位指定文件,路径具有唯一性
- 绝对路径:一般从/开始,不依赖其他目录的定位文件的方式
- 相对路径:相对于当前用户所处目录,定位文件的路径方式
- 绝对路径一般不会随着用户的路径变化而丧失唯一性,,一般在特定服务的配置文件中经常被使用
- 相对路径因为它的便捷性,一般在命令行中使用较多
这里我们可以使用tree命令
tree库的安装
注意不要在/目录下tree,如果tree了,请ctrl+c
(unbuntu)apt-get install tree
(centos) yum -y install tree
zrj@hcss-ecs-4d17:~/linux-gcc$ tree
.
├── lesson1
│ ├── main.c
│ ├── Makefile
│ ├── process.c
│ └── process.h
├── lesson10
│ ├── Makefile
│ ├── test
│ └── test.c
├── lesson11
│ ├── makefile
│ ├── test
│ └── test.c
├── lesson2
│ ├── Makefile
│ ├── myprocess
│ └── myprocess.c
语法:cd目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下
举例:
返回上级目录cd ..
zrj@hcss-ecs-4d17:~$ pwd
/home/zrj
zrj@hcss-ecs-4d17:~$ cd ..
zrj@hcss-ecs-4d17:/home$ pwd
/home
绝对路径定位目录或者文件
zrj@hcss-ecs-4d17:~$ pwd
/home/zrj
zrj@hcss-ecs-4d17:~$ cd /home/zrj/linux-gcc
zrj@hcss-ecs-4d17:~/linux-gcc$ pwd
/home/zrj/linux-gcc
相对路径定位目录或者文件
zrj@hcss-ecs-4d17:~/linux-gcc$ pwd
/home/zrj/linux-gcc
zrj@hcss-ecs-4d17:~/linux-gcc$ cd ../code
zrj@hcss-ecs-4d17:~/code$ pwd
/home/zrj/code
#每一次新建一个用户都会在/home目录下为新用户创建新的工作目录,目录以新用户名称命名
root用户在安装操作系统的时候,就已经内置了工作目录:/root
zrj@hcss-ecs-4d17:~/code$ whoami <-我是谁
zrj <-我创建时的用户名zrj@hcss-ecs-4d17:~/code$ ls /home
zrj <-在家目录下存在我这个用户
快速进入家目录
zrj@hcss-ecs-4d17:~/code$ cd ~
zrj@hcss-ecs-4d17:~$ pwd
/home/zrj
进入/目录
zrj@hcss-ecs-4d17:~$ pwd
/home/zrj
zrj@hcss-ecs-4d17:~$ cd /
zrj@hcss-ecs-4d17:/$ pwd
/ 注意不要在/目录下tree,如果tree了,请ctrl+c
cd - # 直接可以回退到最近⼀次所处的⽬录:/home/whb
zrj@hcss-ecs-4d17:~$ cd -
/
zrj@hcss-ecs-4d17:/$ cd -
/home/zrj
touch 指令
Linux理论知识:文件类型的认识
d表示目录(文件夹) rwxrwxr-x为权限,在后续会讲解
touch code.txt 此时创建的就为文件
语法:touch[选项]...文件..·
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
-a:changeonlythe accesstime
-C:change only the modification time
# 查看⽂件时间
zrj@hcss-ecs-4d17:~/code$ stat code.txt
File: code.txt
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fc01h/64513d Inode: 541410 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ zrj) Gid: ( 1000/ zrj)
Access: 2025-05-19 17:09:54.891557199 +0800
Modify: 2025-05-19 17:09:54.891557199 +0800
Change: 2025-05-19 17:09:54.891557199 +0800
Birth: -
那我们如何创建目录呢?
mkdir指令
语法:mkdir[选项] dirname..
功能:在当前目录下创建一个名为“dirname”的目录
常用选项:
-p/--parents:可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自
动建立好那些尚不存在的目录,即一次可以建立多个目录
创建单个目录
zrj@hcss-ecs-4d17:~/code$ mkdir mydir
zrj@hcss-ecs-4d17:~/code$ ll
total 12
drwxrwxr-x 3 zrj zrj 4096 May 19 17:30 ./
drwxr-xr-x 10 zrj zrj 4096 May 19 15:41 ../
-rw-rw-r-- 1 zrj zrj 0 May 19 17:09 code.txt
drwxrwxr-x 2 zrj zrj 4096 May 19 17:30 mydir/
递归式创建目录
zrj@hcss-ecs-4d17:~/code$ mkdir -p a/b/c/d
zrj@hcss-ecs-4d17:~/code$ ll
total 16
drwxrwxr-x 4 zrj zrj 4096 May 19 17:31 ./
drwxr-xr-x 10 zrj zrj 4096 May 19 15:41 ../
drwxrwxr-x 3 zrj zrj 4096 May 19 17:31 a/
-rw-rw-r-- 1 zrj zrj 0 May 19 17:09 code.txt
drwxrwxr-x 2 zrj zrj 4096 May 19 17:30 mydir/
zrj@hcss-ecs-4d17:~/code$ tree a
a
└── b
└── c
└── d3 directories, 0 files
# tree命令是⼀个递归以树状结构显⽰指定⽬录的命令,如果没有安装
# 如果当前⽤⼾是root: yum install -y tree (因为现在开始⽤的都是root,所以推荐这个⽤法) # 如果当前⽤⼾是普通⽤⼾: sudo yum install -y tree (后⾯讲讲完vim,⼤家才能将⾃⼰添加到系统信任列表中,暂时普通⽤⼾⽆法使⽤sudo)
rmdir指令&&rm指令
rmdir是一个与mkdir相对应的命令,mkdir是建立目录,而rmdir是删除命令
语法::rmdir [-p] [dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录常用选项:
-p当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
rm命令可以同时删除文件或目录
语法:rm [-f-i-r-v] [dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:-f即使文件属性为只读(即写保护),亦直接删除
-i删除前逐一询问确认
-r删除目录及其下所有文件
我一般采取rm -rf 文件和目录都可以删除(如果存在数据,也是可以删除的,并不会询问用户是否删除)
zrj@hcss-ecs-4d17:~/code$ rm -rf mydir
zrj@hcss-ecs-4d17:~/code$ ll
total 12
drwxrwxr-x 3 zrj zrj 4096 May 19 17:40 ./
drwxr-xr-x 10 zrj zrj 4096 May 19 15:41 ../
drwxrwxr-x 3 zrj zrj 4096 May 19 17:31 a/
-rw-rw-r-- 1 zrj zrj 0 May 19 17:09 code.txt
zrj@hcss-ecs-4d17:~/code$ rm -rf a 碰见递归式的目录,rm也会递归式删除
zrj@hcss-ecs-4d17:~/code$ ll
total 8
drwxrwxr-x 2 zrj zrj 4096 May 19 17:40 ./
drwxr-xr-x 10 zrj zrj 4096 May 19 15:41 ../
-rw-rw-r-- 1 zrj zrj 0 May 19 17:09 code.txt
man 指令
Linux的命令有很多参数,我们不可能全记住,可以通过查看联机手册获取帮助
语法:man[选项]命令
常用选项
-k根据关键字搜索联机帮助
num只在第num章节查找
-a将所有章节的都显示出来,比如manprintf它缺省从第一章开始搜索,知道就停止,用a选
项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕
解释一下:man手册分为9章(不同系统可能会有差别)
1是普通的命令
2是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么
头文件)
3是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
4略
5是指文件的格式,比如passwd,就会说明这个文件中各个字段的含义
6是给游戏留的,由各个游戏自己定义
7是附件还有一些变量,比如像environ这种全局变量在这里就有说明
8是系统管理用的命令,这些命令只能由root使用,如ifconfig9略
zrj@hcss-ecs-4d17:~/code$ man printf
q退出