Linux命令入门:17个基本命令
INIT

INIT:本节内容正式开始。action!

📌命令:pwd
作用:打印当前的工作路径,用于确认您当前在文件系统中的位置。


这里有几个概念需要说明一下。
~
.
..
/
~ 就是当前用户的家目录缩写
举例说明
cd ~
可以快速切换到你的家目录。
如果用户john
的家目录是/home/john
,那么可以使用cd ~
命令,它等同于cd home/john
. 表示当前目录
举例说明
ls .
这个命令会列出当前目录中的所有文件和文件夹。
.. 表示上一级目录
cd ..
从当前目录移动到上一级目录。
/ 表示根目录
在Unix-like系统中,没有像Windows那样的驱动器盘符(如C:、D:等),而是有一个单一的树状结构,以“/”作为整个文件系统的起点。
例如:
/home
通常包含用户的主目录。/usr
用于存放用户安装的程序和文件。/etc
包含系统的配置文件。
📌命令:cd
作用:切换工作路径。
cd / #切换路径到根目录
cd #切换路径到当前用户的家目录
cd ~ #切换路径到当前用户的家目录
cd .. #切换到上一级目录
cd ../../Even/pic #返回上一级的上一级的Even里面的pic(相对路径)
cd /home/Even/pic #切换路径到/home/Even/pic(绝对路径)
cd - #返回上一次所在的路径
📌命令:ls
作用:列举当前目录下的内容
ls -l #列举当前目录下的详细内容
ls -a #列举当前目录下的所有内容(包括隐藏文件.Filename)
举例说明
在一个文件夹下运行了ls
命令得到了如下
-rw-r--r-- 1 ubuntu ubuntu 8980 Jul 6 2020 example.desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 Jul 6 2020 Music
🤔drwxr-xr-x
这是什么意思呢?
🔑我们可以把它拆解为4部分。
1)d
是一种文件类型,这里为目录文件。
文件系统类型:在Linux系统下一共有七种文件类型
符号 | 文件类型 |
---|---|
- | 普通文件(mp3,mp4等) |
d | 目录文件(文件夹) |
p | 管道文件(一般用于进程间通信) |
l | 链接文件(相当于快捷方式) |
s | 套接字文件(一般用于网络通信) |
b | 块设备文件(驱动的设备文件由驱动生成) |
c | 字符设备文件(驱动的设备文件由驱动生成) |
2)rwxr-xr-x
有三个部分,三个字母为一个部分,从左到右依次代表文件的拥有者的权限rwx
,同组用户的权限r-x
,其他用户的权限r-x
。
🤔r
w
x
-
这是什么意思呢?
举个例子
R 可读 | W 可写 | X 可执行 | 字母 | 值 |
---|---|---|---|---|
1 | 1 | 0 | rw- | 4(二进制110换算成十进制) |
0 | 1 | 0 | -w- | 2(二进制010换算成十进制) |
这个权限值在我们后面更改权限时,或者设置初始权限时是有用处的。具体操作暂且不表。 |
🔑所以这里的drwxr-xr-x
意思就是文件为目录文件,文件的拥有者的权限为可读可写可执行,同组用户的权限为可读不可写可执行,其他用户的权限为可读不可写可执行。
-rw-r--r-- 1 ubuntu ubuntu 8980 Jul 6 2020 example.desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 Jul 6 2020 Music
🤔从drwxr-xr-x
继续往后看,drwxr-xr-x
后面的2
是什么意思呢?
🔑这个2
表示的就是文件的链接数。
目录文件:表示该目录中还有多少个目录。
普通文件:就是指该文件有多少个链接(访问方式)。
-rw-r--r-- 1 ubuntu ubuntu 8980 Jul 6 2020 example.desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 Jul 6 2020 Music
🤔drwxr-xr-x 2
后面的ubuntu ubuntu
是什么意思呢?
🔑第1个ubuntu
表示文件的拥有者,第2个ubuntu
表示所属小组。
🤔ubuntu
后面的8980
是什么意思呢?
🔑这个8980
表示的是文件大小。
🤔8980
后面的Jul 6 2020
是什么意思呢?
🔑这个Jul 6 2020
表示的是修改日期。
🤔Jul 6 2020
后面的example.desktop
是什么意思呢?
🔑这个example.desktop
表示的是文件名。
🔚用一个图来总结。

📌命令:locate或find
作用:查找。
而find
命令我认为更好用,所以我一般用find
命令。
举例说明
find -name Even #在当前目录开始以名字查找 Even 文件
locate Even #从根目录开始查找所有包含 Even 字符串的文件名
📌命令:clear
作用:清除终端窗口。
快捷方式:Ctrl + L
📌命令:cat
作用:打印输出文件内容。

📌命令:head
作用:查看某个文件的头部。
head stdio.h #查看 stdio.h 文件的前10行
head -20 stdio.h #查看 stdio.h 文件的前20行(行数可以自行指定)
head stdio.h #查看 stdio.h 文件的前10行
head -20 stdio.h #查看 stdio.h 文件的前20行(行数可以自行指定)
📌命令:tail
作用:查看某个文件的尾部。有助于查看日志文件的最后10行来阅读重要的系统信息。
tail stdio.h #查看 stdio.h 文件的末尾10行
tail -20 stdio.h #查看 stdio.h 文件的末尾20行(行数可以自行指定)
📌命令:grep
作用:在文件中查找指定的内容。
grep printf stdio.h -n #在stdio.h中查找内容 printf 并输出内容所出现的行号

📌命令:chmod
作用:修改文件的权限。
chmod 367 Even #修改文件 Even 的权限为拥有者可写+可执行,同组用户可读+可写,其他用户可读+可写+可执行

📌命令:cp
作用:复制文件。
cp Even Jacy #把普通文件 Even 复制成 Jacy
cp abc/ ade -r #把目录文件 adc 复制成 ade -r为递归选项(复制目录文件就需要加 -r )
💡小知识:
cp adc/ ade -r
这里的adc/
这么写是为了提醒我们自己这是目录文件,建议输入命令时在目录文件后加/
。
也可以写cp adc ade -r
效果是一样的。
📌命令:mv
作用:移动文件/重命名。
mv Even abc/ #把文件 Even 移动到目录 abc 中
mv adc/ ade/ #把目录 adc 移动到目录 ade 中
mv abb acc #把文件 abb 重命名为 acc
mv aaa/ bbb/ccc #把目录 abb 移动到目录 bbb中,并且将目录 abb 重命名为 ccc
📢注意:
mv具体是移动还是重命名的功能取决于第三个参数是否存在,如果第三个参数是一个不存在的文件名,则是重命名。如果第三个参数存在并且是一个目录文件,则是移动文件。
📌命令:mkdir
作用:创建目录文件。
mkdir abb #创建一个目录文件为 abb
📌命令:touch
作用:创建一个普通文件。
touch abc.c #创建一个普通文件 abc.c
📌命令:rm
作用:删除文件。
rm abc.c #删除普通文件 abc.c
rm acc/ -r #目录文件 abc/
📌命令:sudo
作用:临时使用超级用户的权限做某事。

sudo touch abc.c #临时使用超级用户的权限,创建一个普通文件

sudo -s #临时切换为超级用户(不推荐这么使用,因为这样一直保持超级用户权限,容易误删东西。推荐sudo+命令去使用)
exit #输入 exit 可以退出超级用户

📌命令:man
man man #查看一下 man 手册是什么
man -f mkfifo #查看一下 mkfifo 出现在哪一本手册中
man 1 mkfifo #在第一本手册中查看 mkfifo 的解析(命令)
man 3 mkfido #在第三本手册中查看 mkfido 的解析(命令)
一共有9本手册。
1)可执行程序或shell命令。
2)系统调用(内核提供的函数)
3)库调用(程序库中的函数)
等等……
💡小知识:
系统调用 VS 库调用
你给女朋友准备一个晚饭,比如做一个小炒黄牛肉,系统调用就是你自己去买牛肉,买葱,买调料等等,包括怎么做,做多久,都由你把握。
而库调用,就是你去一个餐馆,点一个小炒黄牛肉,你只需要买单就可以了。
系统调用使用的系统提供的接口是比较简单而功能单一的,你需要去拼凑出来一个完整的功能。
而库调用就是,它已经帮你拼凑了很多系统函数来组成一个完整的库函数。
这两者详细的细节暂且不表,在后续的部分会做详细解释。
VMtools安装
想要实现Linux和Windows之间的复制粘贴,则需安装VMtools。
END
END:本节内容到此结束。
个人提升之余,别忘了和小伙伴积极交流,很多人觉得他们在思考,而实际上他们只是在重新整理自己的偏见。请珍惜和他人交流讨论的机会。

希望你每一天都有所收获,进步up up up。今天的我们并不比昨天更聪明,但一定要比昨天更睿智。
