Linux Commands
本文最后更新于 2025-02-08,墨迹未干时,知识正鲜活。随着时间推移,文章部分内容可能需要重新着墨,请您谅解。Contact
Linux命令大全(详解版)
列出目录内容
-
ls
(list)-a
(all):显示所有文件,包括隐藏文件(以.
开头的文件)。- 示例:
ls -a
显示当前目录下的所有文件,包括隐藏文件。
- 示例:
-l
(long):以详细列表形式显示文件信息。- 示例:
ls -l
显示文件的详细信息,如权限、所有者、大小和修改时间。
- 示例:
-R
(recursive):递归显示子目录结构。- 示例:
ls -R
显示当前目录及其所有子目录中的文件。
- 示例:
-d
(directory):仅显示目录本身的信息,而非其内容。- 示例:
ls -ld
显示目录本身的详细信息。
- 示例:
-
ctrl+r
- 历史记录搜索:在命令历史中搜索包含输入字符的命令。
- 示例:按下
Ctrl + r
后输入部分命令内容,可快速找到对应的历史命令。
- 示例:按下
- 历史记录搜索:在命令历史中搜索包含输入字符的命令。
-
pwd
(print working directory)- 功能:显示当前所在的工作目录路径。
- 示例:
pwd
显示当前目录的完整路径。
- 示例:
- 功能:显示当前所在的工作目录路径。
查看文件的类型
file
- 功能:查看文件的类型。
- 示例:
file example.txt
输出文件example.txt
的类型信息,如“ASCII text”。
- 示例:
- 功能:查看文件的类型。
复制文件目录
-
cp
(copy)- 用途:复制文件和目录。
- 常用参数:
-r
(recursive):递归复制整个目录树。-v
(verbose):显示复制的详细信息。
- 示例:
cp -r source_dir/ target_dir/
:递归复制source_dir
目录到target_dir
。
-
touch
- 功能:创建空文件或修改文件的时间戳。
- 常用用法:
touch filename
:如果filename
不存在,则创建一个空文件;如果存在,则更新其修改时间。touch -d 20040210 test
:将test
文件的日期修改为2004年2月10日。
-
mv
(move)- 用途:移动或重命名文件或目录。
- 格式:
mv [参数] <源文件或目录> <目标文件或目录>
- 示例:
mv a.txt b.txt
:将a.txt
重命名为b.txt
。mv dir2 ../
:将dir2
目录移动到上层目录。
-
rm
(remove)- 用途:删除文件。
- 常用参数:
-i
(interactive):删除前进行询问。-r
(recursive):递归删除目录及其内容。-f
(force):强制删除,不提示。
- 示例:
rm -rf test
:强制递归删除test
目录及其所有内容。
-
mkdir
(make directory)- 用途:创建新目录。
- 示例:
mkdir folder_name
:创建一个名为folder_name
的目录。mkdir -p dir1/dir2
:递归创建dir1
及其子目录dir2
。
-
rmdir
(remove directory)- 用途:删除空目录。
- 示例:
rmdir folder_name
:删除名为folder_name
的空目录。rmdir -p dir1/dir2
:删除dir2
目录,如果dir1
因此空,也一并删除。
系统常用命令
-
显示命令
-
date
(date)- 功能:查看或设置系统时间。
- 常用用法:
date
:显示当前系统时间。date +"%Y-%m-%d"
:以年-月-日
格式显示时间。date -s "2023-10-01 12:00:00"
:设置系统时间。
-
hwclock
(hardware clock)- 功能:查看或设置硬件时钟时间。
- 示例:
hwclock
:显示硬件时钟时间。
-
cal
(calendar)- 功能:查看日历。
- 示例:
cal
:显示当前月份的日历。cal 4 2004
:显示2004年4月的日历。cal -y 2003
:显示2003年的全年日历。
-
uptime
(uptime)- 功能:查看系统的运行时间及负载情况。
- 示例:
uptime
:显示系统运行的时长和当前负载。
-
-
输出查看命令
-
echo
(echo)- 功能:显示输入的内容。
- 示例:
echo "Hello World"
:在终端显示Hello World
。echo "liuyazhuang" >> liuyazhuang.txt
:将liuyazhuang
追加到文件liuyazhuang.txt
。
-
cat
(concatenate)- 功能:显示文件内容,合并文件。
- 常用用法:
cat test.txt
:显示test.txt
的内容。cat test.txt | more
:分页显示test.txt
内容。cat test.txt >> test1.txt
:将test.txt
的内容追加到test1.txt
。cat test.txt test2.txt > readme.txt
:合并test.txt
和test2.txt
到readme.txt
。
-
head
(head)- 功能:显示文件的前几行。
- 常用参数:
-n
(number):指定显示的行数。
- 示例:
head -n 5 file.txt
:显示file.txt
的前5行。
-
tail
(tail)- 功能:显示文件的后几行,追踪文件更新。
- 常用参数:
-n
(number):指定显示的行数。-f
(follow):持续追踪文件的新内容(常用于查看日志)。
- 示例:
tail -n 10 /etc/passwd
:显示/etc/passwd
的最后10行。tail -f /var/log/syslog
:实时显示syslog
文件的新内容。
-
more
(more)- 功能:分页显示文件内容,仅向下翻页。
- 示例:
ls -al | more
:分页显示/etc
目录下的文件列表。
-
less
(less)- 功能:分页显示文件内容,支持上下翻页。
- 示例:
ls -al | less
:分页显示/etc
目录下的文件列表,可上下翻页查看。
-
-
查看硬件信息
-
lspci
(list PCI)- 功能:查看PCI设备信息。
- 常用参数:
-v
(verbose):显示详细信息。
- 示例:
lspci -v
:显示详细的PCI设备信息。
-
lsusb
(list USB)- 功能:查看USB设备信息。
- 常用参数:
-v
(verbose):显示详细信息。
- 示例:
lsusb -v
:显示详细的USB设备信息。
-
lsmod
(list modules)- 功能:查看已加载的内核模块(驱动)。
- 示例:
lsmod
:显示当前加载的内核模块列表。
-
-
关机、重启
-
shutdown
(shutdown)- 功能:关闭或重启计算机。
- 常用参数:
-h
(halt):关闭计算机。-r
(reboot):重启计算机。now
:立即执行。+m
:在m
分钟后执行。hh:mm
:在指定时间执行。
- 示例:
shutdown -h now
:立即关机。shutdown -r +10
:10分钟后重启。shutdown -h 23:30
:在23:30关机。
-
poweroff
(poweroff)- 功能:立即关闭计算机。
- 示例:
poweroff
:立即关闭系统。
-
reboot
(reboot)- 功能:立即重启计算机。
- 示例:
reboot
:立即重启系统。
-
-
归档、压缩
-
zip
(zip)- 功能:压缩文件或目录。
- 示例:
zip liuyazhuang.zip myfile
:将myfile
压缩为liuyazhuang.zip
。
-
unzip
(unzip)- 功能:解压
.zip
文件。 - 示例:
unzip liuyazhuang.zip
:解压liuyazhuang.zip
文件。
- 功能:解压
-
gzip
(GNU zip)- 功能:压缩文件。
- 示例:
gzip test.txt
:将test.txt
压缩为test.txt.gz
。gzip -l test.txt.gz
:显示压缩率等信息。
-
gunzip
(GNU unzip)- 功能:解压
.gz
文件。 - 示例:
gunzip test.txt.gz
:解压test.txt.gz
文件。
- 功能:解压
-
tar
(tape archive)- 功能:归档文件或目录,并可结合压缩使用。
- 常用参数:
-c
(create):创建新的归档文件。-v
(verbose):显示归档过程信息。-f
(file):指定归档文件名。-z
(gzip):使用gzip压缩。-t
(list):列出归档内容。-x
(extract):解压归档文件。
- 示例:
tar -cvf out.tar liuyazhuang
:将liuyazhuang
打包为out.tar
。tar -xvf liuyazhuang.tar
:解压liuyazhuang.tar
。tar -cvzf backup.tar.gz /etc
:将/etc
目录打包并压缩为backup.tar.gz
。tar -zxvf foo.tar.gz
:解压缩foo.tar.gz
文件。tar -tf test.tar
:查看test.tar
中的文件列表。
-
-
查找
-
locate
(locate)- 功能:快速查找文件或目录。
- 示例:
locate keyword
:查找包含keyword
的文件或目录。
-
find
(find)- 功能:在指定位置查找文件或目录,支持多种匹配条件。
- 常用选项:
-name
(name):按名称查找。-perm
(permission):按权限查找。-type
:按类型查找(如目录、文件)。-exec
:对找到的文件执行命令。
- 示例:
find . -name "*liuyazhuang*"
:查找当前目录下名称包含liuyazhuang
的文件。find / -name "*.conf"
:查找根目录下所有.conf
文件。find / -perm 777
:查找所有权限为777的文件。find / -type d
:查找根目录下所有目录。find . -name "a*" -exec ls -l {} \;
:查找当前目录下所有以a
开头的文件并列出详细信息。
-
-
ctrl+c
- 功能:终止当前正在执行的命令。
-
用户查看命令
who
或w
(who / w)- 功能:查看当前系统中有哪些用户登录。
- 示例:
who
:显示当前登录用户的信息。w
:显示登录用户及其活动情况。
-
dmesg
(diagnostic message)- 功能:显示系统诊断信息、操作系统版本、物理内存大小等。
- 示例:
dmesg
:显示内核环缓冲区中的消息。
-
df
(disk free)- 功能:查看文件系统各分区的磁盘使用情况。
- 示例:
df -h
:以人类可读的格式显示磁盘使用情况。
-
du
(disk usage)- 功能:查看指定目录及其子目录占用的磁盘空间。
- 示例:
du -h /path/to/directory
:以人类可读的格式显示目录的磁盘使用情况。
-
free
- 功能:查看系统内存和交换空间的使用情况。
- 示例:
free -h
:以人类可读的格式显示内存使用情况。
VIM
-
vim
(Vi IMproved)- 功能:启动VIM编辑器。
- 用法:
vim <文件路径>
:打开指定文件,如果文件不存在则创建新文件。- 示例:
vim example.txt
:打开或创建example.txt
文件。
-
VIM模式
-
命令模式(普通模式) (Normal Mode)
- 功能:执行命令,如复制、粘贴、删除等。
- 常用命令:
i
(insert):在光标前插入文本,进入插入模式。o
(open):在当前行下方插入新行,进入插入模式。dd
(delete line):删除当前行。yy
(yank line):复制当前行。n + yy
:复制n
行。p
(paste):粘贴缓冲区内容到光标后。u
(undo):撤销上一个操作。r
(replace):替换当前字符。/keyword
:搜索keyword
。
-
插入模式 (Insert Mode)
- 功能:输入和编辑文本。
- 切换方式:
- 在命令模式下按
i
进入插入模式。 - 按
Esc
键返回命令模式。
- 在命令模式下按
-
Ex模式 (Ex Mode)
- 功能:执行高级命令,如保存、退出等。
- 进入方式:
- 在命令模式下按
:
进入Ex模式,光标移动到底部。
- 在命令模式下按
- 常用命令:
:w
(write):保存当前文件。:q
(quit):退出VIM。:q!
(quit force):强制退出,不保存修改。:x
(save and quit):保存并退出,相当于:wq
。:set number
:显示行号。:!command
(shell command):执行系统命令,如:!ls
。:sh
:切换到Shell,使用Ctrl + d
返回VIM。
-
软件包管理命令(RPM)
-
安装软件包
rpm -ivh
(install verbose hash)- 功能:安装RPM软件包。
- 参数说明:
-i
(install):安装软件包。-v
(verbose):显示详细信息。-h
(hash):以#
号显示安装进度。
- 示例:
rpm -ivh wu-ftpd-2.6.2-8.i386.rpm
:安装wu-ftpd
软件包。
-
删除软件包
rpm -e
(erase)- 功能:删除已安装的RPM软件包。
- 示例:
rpm -e wu-ftpd
:删除名为wu-ftpd
的软件包。
-
升级软件包
rpm -Uvh
(upgrade verbose hash)- 功能:升级RPM软件包。
- 参数说明:
-U
(upgrade):升级软件包。-v
(verbose):显示详细信息。-h
(hash):以#
号显示进度。
- 示例:
rpm -Uvh wu-ftpd-2.6.2-8.i386.rpm
:升级wu-ftpd
软件包。
-
更新软件包
rpm -Fvh
(freshen verbose hash)- 功能:更新RPM软件包,仅当新版本比已安装版本新时才执行。
- 参数说明:
-F
(freshen):更新软件包。-v
(verbose):显示详细信息。-h
(hash):以#
号显示进度。
- 示例:
rpm -Fvh wu-ftpd-2.6.2-8.i386.rpm
:更新wu-ftpd
软件包。
-
查询软件包
-
rpm -q
(query)- 功能:查询已安装的软件包信息。
- 示例:
rpm -q wu-ftpd
:查询wu-ftpd
是否已安装及其版本。
-
rpm -ql
(query list)- 功能:列出软件包安装的所有文件。
- 示例:
rpm -ql xv
:列出xv
软件包安装的所有文件。
-