Linux常用命令
Linux常用命令
- Linux命令可以组合使用
帮助指令
-
man(manual)是 Linux 中最常用的帮助命令,用于查看命令的手册页。 -
man [选项] 命令名-k:搜索与关键词相关的手册页。-f:显示命令的简短描述。
-
help是 Shell 内置命令的帮助工具,用于查看 Shell 内置命令的用法。 -
help [命令名] -
大多数 Linux 命令支持
--help选项,用于显示命令的简要帮助信息。 -
命令名 --help
关机重启命令
- 无论是重启还是关闭系统,首先都要执行sync命令,把内存中的数据写入磁盘
- 目前的shutdown/reboot/halt等命令都在关机前进行了sync命令
关机命令
shutdown:- 功能:安全地关闭系统。
- 常用选项:
shutdown -h now:立即关机。shutdown -h +10:10 分钟后关机。shutdown -h 20:00:在指定时间(20:00)关机。shutdown -c:取消已计划的关机。
重启命令
reboot:- 功能:立即重启系统。
- 常用选项:
reboot:立即重启。
shutdown -r:- 功能:安全地重启系统。
- 常用选项:
shutdown -r now:立即重启。shutdown -r +10:10 分钟后重启。shutdown -r 20:00:在指定时间(20:00)重启。
用户相关命令
切换用户
-
从权限高的用户切换到权限低的用户不需要输入密码,反之则需要
-
su:切换用户。默认情况下,如果不指定用户名,su会切换到root用户。- 常用选项:
su username:切换到指定用户。su:切换用户,需要目标用户的密码。
su - username:切换到指定用户并加载其环境变量。
- 常用选项:
-
sudo:以超级用户权限执行命令。- 常用选项:
sudo command:以 root 权限执行命令。sudo -u username command:以指定用户权限执行命令。- 与
su不同,sudo不需要知道目标用户的密码,只需要输入当前用户的密码。
- 与
- 常用选项:
-
sudo su命令sudo su结合了sudo和su的功能,允许用户切换到root或其他用户,而不需要知道目标用户的密码。
-
切换用户后,可以使用
exit或logout命令返回到原来的用户。
创建用户
-
useradd命令-
useradd是一个底层命令,用于创建新用户。它提供了许多选项来定制用户属性。 -
useradd [选项] 用户名 -
默认在/home文件夹下创建和用户名相同的文件夹作为用户主目录
-
常用选项
-
-m或--create-home:创建用户的主目录(通常位于/home/用户名)。 -
-d或--home-dir:指定用户的主目录路径。-
useradd -d /home/bob_home bob -
手动指定bob的主目录名称为bob_home
-
-
-s或--shell:指定用户的默认 shell(如/bin/bash)。 -
-g或--gid:指定用户的主组(GID)。 -
-G或--groups:指定用户的附加组(多个组用逗号分隔)。 -
-u或--uid:指定用户的 UID。 -
-p或--password:设置用户的密码(通常不推荐直接使用,因为密码需要加密)。 -
-e或--expiredate:设置用户账户的过期日期(格式:YYYY-MM-DD)。 -
-c或--comment:添加用户的描述信息(通常是用户的全名)。
-
-
设置用户密码
-
passwd命令-
创建用户后,通常需要为其设置密码。
-
passwd 用户名 -
然后在下一行为该用户设置密码
-
查看用户信息
-
whoami- 显示当前登录用户的用户名。如果其中切换用户则显示为第一次登录用户的用户名。
-
id-
显示当前用户或指定用户的 UID、GID 和所属组。
-
id [选项] [用户名] -
不加用户名则显示为当前用户
-
-
groups-
显示当前用户或指定用户所属的组。
-
groups [用户名]
-
修改用户属性
-
创建用户后,可以使用
usermod命令修改用户属性。 -
usermod [选项] 用户名 -
常用选项:
-
-d:修改用户的主目录。 -
-s:修改用户的默认 shell。 -
-g:修改用户的主组。 -
-G:修改用户的附加组。 -
-l:修改用户的登录名。-
将用户
alice的登录名改为alice_new: -
usermod -l alice_new alice
-
-
-e:修改账户的过期日期。
-
删除用户
-
可以使用
userdel命令删除用户。 -
删除用户
alice,并删除其主目录:-
sudo userdel -r alice
-
-
删除用户
alice,不删除其主目录-
sudo userdel alice
-
运行级别
-
运行级别:定义了系统的不同操作模式。
-
常用命令:
runlevel:查看当前运行级别。init或telinit:切换运行级别。systemctl:在systemd系统中管理目标和服务。
-
设置默认运行级别:
- 在传统
init系统中修改/etc/inittab。 - 在
systemd系统中使用systemctl set-default。
目标 描述 poweroff.target关机(相当于运行级别 0)。 rescue.target单用户模式(相当于运行级别 1)。 multi-user.target多用户模式(相当于运行级别 3)。 graphical.target图形界面模式(相当于运行级别 5)。 reboot.target重启(相当于运行级别 6)。 - 在传统
目录相关指令
-
pwd(Print Working Directory)用于显示当前工作目录的绝对路径。 -
cd(Change Directory)用于切换当前工作目录。-
切换到当前用户的主目录:
-
cd #或者 cd ~
-
-
切换到上一级目录:
-
cd .. # 切换到上两级目录 cd ../..
-
-
切换到上一次所在的目录:
-
cd -
-
-
-
ls(List)用于列出目录中的文件和子目录。-
ls [选项] [目录路径] -
选项 说明 -a显示所有文件(包括隐藏文件)。 -l以长格式显示文件详细信息。 -h与 -l一起使用,以易读的格式显示文件大小。-R递归列出子目录中的文件。 -t按修改时间排序(最近修改的在前)。 -r反向排序。
-
-
mkdir(Make Directory)用于创建目录。-
mkdir [选项] 目录名-
选项 说明 -p递归创建目录(如果父目录不存在,则一并创建)。 -m设置目录的权限模式。
-
-
-
rmdir(Remove Directory)用于删除空目录。-
rmdir [选项] 目录名-
选项 说明 -p递归删除空目录(如果父目录为空,则一并删除)。
-
-
-
rm(Remove)用于删除文件或目录。-
rm [选项] 文件或目录-
选项 说明 -r递归删除目录及其内容。 -f强制删除(不提示确认)。 -i交互式删除(删除前提示确认)。
-
-
-
cp(Copy)用于复制文件或目录。-
cp [选项] 源文件或目录 目标文件或目录-
选项 说明 -r递归复制目录及其内容。 -i交互式复制(覆盖前提示确认)。 -v显示复制过程。
-
-
-
mv(Move)用于移动或重命名文件或目录。-
mv [选项] 源文件或目录 目标文件或目录-
选项 说明 -i交互式移动(覆盖前提示确认)。 -v显示移动过程。
-
-
-
history命令-
history [选项] [参数] -
选项 说明 -c清除当前会话的历史记录。 -d删除指定编号的历史记录。 -a将当前会话的历史记录追加到历史文件中。 -r从历史文件中读取历史记录到当前会话。 -w将当前会话的历史记录写入历史文件。 -
显示用户在当前会话中执行过的命令历史记录。
-
history
-
-
使用
!符号快速重复执行历史命令。-
!2 -
执行编号为
2的命令
-
-
!!:执行上一条命令。 -
!string:执行最近一条以string开头的命令。-
!echo -
执行最近一条以
echo开头的命令。
-
-
文件相关指令
-
touch用于创建空文件或更新文件的时间戳(文件已存在)。-
touch [选项] 文件名 -
选项 说明 -a仅更新访问时间。 -m仅更新修改时间。 -c如果文件不存在,则不创建文件。
-
-
cat(Concatenate)用于查看文件内容、创建文件、合并文件等。-
cat [选项] [文件...] -
选项 说明 -n显示行号。 -b显示非空行的行号。 -s压缩连续的空行为一行。 -
文件:可以指定一个或多个文件。如果未指定文件,则从标准输入读取内容。
-
通过重定向创建新文件并输入内容
-
cat > newfile.txt
-
-
将内容追加到文件末尾。
-
cat >> existingfile.txt
-
-
将多个文件的内容合并输出到新文件。
-
cat file1.txt file2.txt > combined.txt
-
-
如果未指定文件,
cat会从标准输入读取内容。-
cat
-
-
结合
more或less分页查看文件内容:-
cat largefile.txt | more
-
-
-
more和less用于分页查看文件内容。-
more命令 -
more 文件名 -
常用操作:
- 按
空格键:向下翻页。 - 按
Enter键:向下滚动一行。 - 按
q键:退出。
- 按
-
-
less是more的增强版,支持上下滚动和搜索。-
less 文件名 -
常用操作:
- 按
空格键:向下翻页。 - 按
b键:向上翻页。 - 按
/键:搜索内容。 - 按
q键:退出。
- 按
-
-
head和tail用于查看文件的开头或结尾部分。-
head [选项] 文件名 -
选项 说明 -n显示前 N 行(默认 10 行)。 -
查看文件的前 5 行:
-
head -n 5 file1.txt
-
-
-
tail命令-
tail [选项] 文件名 -
选项 说明 -n显示最后 N 行(默认 10 行)。 -f实时跟踪文件的新内容(常用于查看日志)。
-
-
cp命令-
cp [选项] 源文件或目录 目标文件或目录 -
源文件或目录:要复制的文件或目录。
-
目标文件或目录:复制后的文件或目录路径。
-
选项 说明 -r或-R递归复制目录及其内容。 -i交互式复制(覆盖前提示确认)。 -f强制复制(覆盖目标文件时不提示)。 -v显示复制过程(verbose)。 -p保留文件的属性(如权限、时间戳等)。 -a归档模式,相当于 -dpR(保留所有属性并递归复制)。-u仅复制源文件中比目标文件新的文件(更新模式)。 -l创建硬链接而非复制文件。 -s创建符号链接(软链接)而非复制文件。 -
使用
-u选项仅复制源文件中比目标文件新的文件。-
cp -u file1.txt /home/alice/Documents/ -
如果目标文件已存在且比源文件新,则不会复制。
-
-
如果目标文件已存在,
cp会覆盖它(除非使用-i选项)。 -
复制目录时,必须使用
-r或-R选项。 -
使用
-a选项可以保留文件的所有属性,适合备份操作。(会保留权限和时间戳等文件的元数据)
-
-
mv命令-
mv [选项] 源文件或目录 目标文件或目录-
重命名看移动的文件最后是不是以
/结尾 -
选项 说明 -i交互式操作(覆盖前提示确认)。 -f强制操作(覆盖目标文件时不提示)。 -v显示操作过程(verbose)。 -n不覆盖已存在的文件。 -u仅当源文件比目标文件新时移动。
-
-
将文件归类到指定目录:
-
mv *.txt /home/alice/Documents/
-
-
注意事项
-
如果目标文件已存在,
mv会覆盖它(除非使用-i或-n选项)。 -
移动目录时,目录中的所有内容也会被移动。
-
使用
-u选项可以避免覆盖较新的文件。 -
mv dir1 dir2- 如果
dir2不存在,则dir1被重命名为dir2。 - 如果
dir2已存在且是一个目录,则dir1会被移动到dir2目录下,成为dir2/dir1。 - 这里
dir1后面加不加/都是复制该目录而不是目录下的文件,对于普通目录:mv dir1 dir2和mv dir1/ dir2的行为完全相同。
- 如果
-
mv 1.txt /2.txt1.txt:源文件。/2.txt:目标文件(绝对路径)。- 如果
/2.txt不存在:- 将
1.txt移动到根目录/下,并重命名为2.txt。
- 将
- 如果
/2.txt已存在:- 将
1.txt移动到根目录/下,并覆盖原有的/2.txt文件。
- 将
/1.txt:表示根目录/下的文件1.txt,普通用户通常没有权限访问。~/1.txt:表示当前用户的home目录下的文件1.txt,普通用户可以访问和操作。
-
-
-
echo用于将指定的内容输出到终端或文件。-
选项 说明 -n不输出末尾的换行符。 -e启用转义字符(如 \n、\t等)。
-
-
>用于将命令的输出重定向到文件,覆盖文件内容。-
# 命令 > 文件 echo "Hello, World!" > file.txt ls > file.txt
-
-
>>用于将命令的输出追加到文件末尾,不覆盖文件内容。
时间日期指令
-
date是 Linux 中最常用的时间日期命令,用于显示或设置系统时间和日期。 -
date -
date支持自定义输出格式,使用+符号指定格式。 -
符号 说明 %Y年份(如 2023)。 %m月份(01-12)。 %d日期(01-31)。 %H小时(00-23)。 %M分钟(00-59)。 %S秒(00-59)。 %A星期几(如 Monday)。 %B月份名称(如 October)。 -
# 显示当前日期和时间 date +"%Y-%m-%d %H:%M:%S" # 显示当前年份 date +"%Y" -
设置系统时间日期
-
注意:设置系统时间需要 root 权限。
-
sudo date -s "YYYY-MM-DD HH:MM:SS"
-
查找相关指令
-
find用于在目录树中查找文件或目录。-
find [路径] [表达式]-
表达式 说明 -name按文件名查找。 -type按文件类型查找(如 f表示文件,d表示目录)。-mtime按修改时间查找。 -size按文件大小查找(如 +100M表示大于 100MB)。 -
查找当前目录及其子目录中名为
file1.txt的文件:-
find . -name file1.txt
-
-
查找
/home/alice目录中所有扩展名为.txt的文件:-
find /home/alice -name "*.txt"
-
-
查找当前目录及其子目录中的所有普通文件。
-
find . -type f
-
-
查找当前目录中最近 7 天内修改过的文件
-
find . -type f -mtime -7
-
-
查找
/home目录下所有大于 100MB 的文件:-
find /home -type f -size +100M
-
-
find .从当前目录开始查找,适用于查找当前目录及其子目录中的文件或目录。 -
find /从根目录开始查找,适用于查找整个文件系统中的文件或目录。 -
*匹配任意数量的字符(包括零个字符)。 -
?匹配单个字符。
-
-
-
locate命令-
locate是一个快速查找文件的工具,基于系统文件数据库(通常每天更新一次)。 -
locate [选项] 文件名 -
选项 说明 -i忽略大小写。 -c统计匹配的文件数量。 -
快速定位
file.txt: -
locate file.txt -
使用前需要更新系统文件数据库
-
如果文件数据库未更新,可以使用
updatedb命令手动更新: -
updatedb
-
-
-
which命令-
which用于查找可执行文件的路径。 -
which 命令名-
查找
ls命令的路径: -
which ls
-
-
-
grep指令-
grep用于在文件或输入流中查找包含指定模式的行。 -
grep [选项] 模式 [文件...] -
模式:要查找的文本或正则表达式。
-
文件:要搜索的文件。如果未指定文件,则从标准输入读取。
选项 说明 -i忽略大小写。 -v反向查找(显示不匹配的行)。 -r递归查找目录中的文件。 -n显示匹配行的行号。 -c统计匹配的行数。 -l仅显示包含匹配模式的文件名。 -E使用扩展正则表达式(等同于 egrep)。-A显示匹配行及其后 N 行。 -B显示匹配行及其前 N 行。 -C显示匹配行及其前后 N 行。 -
反向查找(显示不匹配的行):
-
grep -v "error" file.txt
-
-
-
管道符
|-
管道符
|用于将一个命令的输出作为另一个命令的输入。 -
命令1 | 命令2- 命令1:生成输出的命令。
- 命令2:处理输入的命令。
-
将
ls的输出传递给grep,查找包含file的文件:-
ls | grep "file"
-
-
解压和压缩
-
tar命令-
tar是 Linux 中最常用的归档工具,支持创建、查看和解压.tar、.tar.gz、.tar.bz2等格式的文件。 -
tar [选项] [归档文件] [文件或目录...] -
选项:指定操作类型和附加功能。
-
归档文件:生成的归档文件名。
-
文件或目录:要打包或解压的文件或目录。
-
tar命令不指定
zjJ就是.tar文件 -
选项 说明 -c创建归档文件。 -x解压归档文件。 -v显示操作过程(verbose)。 -f指定归档文件名。 -z使用 gzip 压缩或解压( .tar.gz)。-j使用 bzip2 压缩或解压( .tar.bz2)。-J使用 xz 压缩或解压( .tar.xz)。-t查看归档文件内容。 -r向归档文件中追加文件。 -u更新归档文件中的文件(仅添加比归档文件中新的文件)。 -C解压到指定目录。 -
创建
.tar.gz归档文件:-
tar -czvf archive.tar.gz file1 file2 dir1
-
-
解压
.tar.gz文件:-
tar -xzvf archive.tar.gz -C /home
-
-
-
zip和unzip命令-
zip用于创建.zip文件;unzip用于解压.zip文件 -
创建
.zip文件:-
zip archive.zip file1 file2 dir1
-
-
解压
.zip文件:-
使用
-d来指定解压到指定目录 -
unzip archive.zip -d /home
-
-

浙公网安备 33010602011771号