Linux 常用命令
文件/目录管理
ls
列出目录内容命令为 ls
,可以理解为 list 的缩写。有以下三种常用方法,结果所列出的文件会显示成不同的颜色,不同颜色对应于不同的文件类型
1 | ls -l /tmp #列出/tmp目录下的内容,等同于ll |
类型 | 颜色 | 类型 | 颜色 |
---|---|---|---|
目录 | 深蓝 | 链接文件 | 浅蓝 |
一般文件 | 灰色 | 设备文件 | 黄色 |
压缩文件 | 红色 | 可执行文件 | 绿色 |
使用命令查看目录下内容时,会显示如下信息,每条记录包含 7 个列,从左到右依次为权限信息、文件数(文件硬链接数)、归属用户、归属群组、文件大小、创建时间、文件名称。其中,权限信息共由十位组成,第一位的字符表示了文件类型,有以下几种
字符 | - | b | c | d | l | p |
---|---|---|---|---|---|---|
类型 | 普通文件 | 块设备文件 | 字符设备文件 | 目录文件 | 链接文件 | 管道文件 |
剩余九位从左到右分成三组,分别代表所有者、所属组、其他人对该文件的权限。每一组的格式为 rwx
,分别对应于 read(读权限)、write(写权限)、execute(可执行,对于目录文件则为代表进入),某一位为 -
时,则代表不具有相应的权限。
每组权限可用数字表示,例如 rwx
对应于二进制 111,转换为 10 进制为 7,r-x
对应于二进制 101,转换为 10 进制为 5。一般来说,文件的权限通常是 rwxr-xr-x
,即 755。
pwd
显示当前工作目录的命令为 pwd
,可以理解为 print work directory。
cd
切换工作目录为 cd
,可以理解为 change directory 的缩写。
1 | 切换到当前用户的家目录 |
mkdir
创建目录命令 mkdir
,make directory。
1 | mkdir ./test #在当前目录下创建test目录 |
touch
创建空文件命令 touch
,也可以用于更新文件的访问时间和修改时间。
rm
删除文件命令 rm
,可以记为 remove 的简写。必须具有对所删除文件相应权限的用户才能执行该操作,比如 root 用户和文件拥有者。
1 | rm test.txt #删除当前目录下test.txt文件 |
cp
复制文件命令 cp
,可记为 copy 的简写。
1 | cp /test/test.txt ./ #复制test目录下的test.txt到当前目录下 |
mv
移动文件命令 mv
,可记为 move 的简写,用法与 cp
命令相同,效果相当于执行完 cp
命令后,再执行一次 rm
命令。
cat
文件查看和连接命令 cat
,用于查看文本文件的内容,通常和 more
、less
、head
、tail
以及管道命令 |
结合使用。cat
的常用参数有 -b
(对非空行输出编号)、-n
(对所有输出行编号)、-E
(在每行结束处显示$)、-s
(不输出多行空行)、-A
(显示特殊字符)。
1 | cat -bE /ect/profile #查看文件内容,对输出的所有行编号,并在每行的结尾处附加$符号 |
vi
文本编辑命令 vi
,打开文件后,光标默认置于第一行,将光标移至待编辑处,按下键盘 S
或者 Insert
可开始编辑。
1 | vi tmp.txt #打开或者新建tmp文件</pre> |
grep
grep
命令,全称为 Global Regular Expression Print,搜索并显示特定字符串,一般用于过滤显示结果,避免显示太多不必要的信息。
awk
awk
命令对每一行进行分割处理,可以指定间隔符,指定输出列。
1 | awk '/^$/{print "This is a blank line"}' awk.txt #将空白行打印为“This is a blank line” |
文件传输
scp
scp
命令用于两台主机之间的文件传输,与 cp
操作类似,不同在于 scp
需要指定主机名(IP)、端口等参数。
1 | scp local_file remote_username@remote_ip:remote_folder |
curl 和 wget
curl
和 wget
通常用于 HTTP/HTTPS/FTP 下载,并可以使用代理。
1 | curl https://hunterx.xyz/test.zip |
系统管理
date
date
输出操作系统的当前日期、时间和时区,-s
参数用于修改当前日期和时间。
kill
kill
用于终止指定 PID 的进程,killall 用于终止指定进程名字的进程,pkill 与 kill 的使用方法类似。
1 | kill 1095 #终止pid为1095的进程 |
ps
ps
命令显示进程,默认显示 4 列信息:PID —— 运行着的命令(CMD)的进程编号,TTY —— 命令所运行的位置(终端),TIME —— 运行着的该命令所占用的 CPU 处理时间,CMD —— 该进程所运行的命令。
top
top
命令查看负载情况,能够实时显示系统中各个进程的资源占用状况。
cron
cron
是 Linux 下的定时执行工具,类似于 Windows 下的定时任务。crontab
命令用于查看/编辑系统的定时任务,使用参数 -l
可列出当前系统的定时任务,使用参数 -e
进入定时任务编辑界面,编辑方法与vi一致。crontab
的任务格式分为 6 列,其中前 6 项与时间相关,最后一项为具体任务。
1 | minute hour day month dayofweek command |
小结
Linux 下的命令很多,本文仅列出一些较为常用的命令以及简单用法,更多示例和用法可使用 Linux 下的 man
方法查看,或者使用度娘和谷歌查询。