Linux基础命令汇总

用户管理

su

  • 切换用户:su  用户名    

logname

  • 显示当前用户的登录用户名:logname

useradd

  • 创建用户:useradd  用户名
  • 创建用户时指定用户的主组:useradd -g 组名 用户名    

usermod

  • 添加附属组:usermod -G 组名 用户名
  • 添加多个附属组:usermod   -G  组名1,组名2,组名3   用户名
  • 去除附属组:usermod  -G  组名1,组名3  用户名(备注:这里将去除了组名2)

userdel

  • 删除用户:userdel 用户名
  • 强制删除用户帐户:userdel  -f  用户名
  • 删除用户帐户和主目录:userdel -r 用户名  

id

  • 查看用户的id:id  用户名(备注:uid:用户编号;gid:用户组编号;groups:附属组编号) 

passwd

  • 给用户设置或修改密码:passwd  用户名

cat

  • 查看系统中有哪些用户组:cat /etc/group
  • 通过查看passwd文件可以获取用户信息:cat  /etc/passwd  

groupadd

  • 创建组:groupadd 组名
  • 创建组时指定组编号:groupadd -g 组编号 组名

groupmod

  • 修改组编号:groupmod -g 组编号 组号
  • 修改用户的群组:usermod  -g  组名/组编号  用户名
  • 修改组名:groupmod -n 新组名 组名

groupdel

  • 删除组:groupdel 组名(备注:如果要删除的组被用户设置成主组,则不能删除)

文件或目录

du

  • 查看指定文件的大小:du -s 文件  
  • 查看该目录及其下的所有文件的大小:du 目录  

touch

  • 在当前目录下创建新的空文件:touch  filename.txt(备注:如果文件已经存在,它将保持不变)
  • 在当前目录下创建多个空文件:touch file1.txt file2.txt file3.txt
  • 更改文件的访问时间和修改时间为当前时间:touch -a -m filename.txt
  • 创建或更新带有特定时间戳的文件为指定的时间:touch -t 202309251430.00 filename.txt (备注:时间戳格式为:YYYYMMDDhhmm.ss)

echo

  • 在终端中显示文本:echo "Hello, World!"
  • 将文本重定向到文件中:echo "文本" > 文件名(备注:如果文件不存在,它将被创建;如果已存在,它将被覆盖)
  • 将文本追加到文件的末尾:echo "文本" >> output.txt(备注:将文本追加到文件的末尾,而不是覆盖文件内容)

rm

  • 删除文件或目录:rm  文件或目录名
  • 删除多个文件:rm  文件1  文件2  文件3
  • 递归删除目录及其内容::rm -r 目录    
  • 强制删除:rm -f 文件或目录名

rmdir

  • 删除空目录:rmdir  空目录(备注:如果目录不为空,将会报错,该命令将无法删除它。rmdir 命令只能删除空目录。如果目录中包含文件或子目录,你需要使用 rm 命令来删除其内容,然后再使用 rmdir 删除空目录)
  • 删除多个空目录:rmdir 空目录1 空目录2 空目录3
  • 递归删除目录及其所有父目录:rmdir -p /path/to/mydirectory
  • 安静模式删除目录:rmdir -q mydirectory(备注:在删除目录时抑制错误消息,如果目录不存在也不会显示错误消息)

chmod

  • 更改文件或目录的权限(使用数字表示权限):chmod   644  文件或目录(备注:r=4 w=2 x=1)
  • 更改文件或目录的权限(使用符号表示权限):chmod   u+rwx,g+rx,o+r   文件或目录(备注:  u 表示文件的所有者;g 表示文件所属组;o 表示其他用户(不是文件的所有者也不是文件所属组的用户))
  • 更改文件或目录的权限:chomd   u=rwx,g=wx,o=rw  文件或目录
  • 更改文件或目录的权限:chmod  uo-x,go+w,g-r 文件或目录    
  • 去除文件写入权限:chmod -w  file.txt
  • 赋予文件执行权限:chmod +x  script.sh
  • 修改文件的拥有者:chown  用户名  文件名
  • 修改文件的所属组:chown  :users  文件名
  • 将文件所有者和所属组更改为其他:chmod  所有者:所属组  file.txt
  • 更改文件或目录的所属组:chgrp  组名  文件或目录
  • 递归更改目录及其内容的所属组:chgrp -R 所属组 目录

cp

  • 复制文件或目录:cp  源文件或目录  目标文件或目录 
  • 复制多个文件:cp  文件1  文件2  目录
  • 递归复制目录及其内容:cp  -r  源文件或目录  目标文件或目录 

zip

  • 创建ZIP压缩文件:zip  target.zip  文件1  文件2(备注:创建一个名为 target.zip  的ZIP压缩文件,并将 文件1 和 文件2 添加到其中)
  • 递归压缩目录及其内容:zip  -r  target.zip  文件1  文件2
  • 添加文件到已存在的ZIP文件:zip  target.zip   文件名
  • 从ZIP文件删除文件:zip -d target.zip   文件名
  • 查看ZIP文件的内容列表:unzip -l  target.zip

gz

  • 压缩文件(不保留源文件):gzip  file.txt(备注:将压缩文件file.txt,并创建一个名为 file.txt.gz 的GZIP压缩文件)
  • 递归压缩目录及其内容中的所有文件:gzip  -r  目录
  • 压缩并保留原始文件:gzip -k file.txt
  • 解压缩文件:gzip -d file.txt.gz(备注:解压缩 file.txt.gz 文件,将其还原为原始文件 file.txt)
  • 查看压缩文件的信息:gzip -l file.txt.gz

tar.gz & tar.bz2

  • 创建压缩包:tar  -cvf  target.tar  file1  file2(备注:创建一个名为 target.tar 的压缩包,并将 file1 和 file2 添加到其中)
  • 添加文件到已存在的压缩包:tar -rvf  target.tar  newfile
  • 从压缩包中删除指定的文件:tar  --delete  -f  target.tar  file 
  • 列出压缩包的内容列表:tar -tvf target.tar 
  • 把文件压缩成.tar.gz格式:tar -czvf target.tar.gz  directory/(备注:在创建压缩包时对其进行gzip压缩,这将创建一个名为 target.tar.gz 的压缩文件)
  • 解压缩压缩包:tar -xvf target.tar 
  • 解压缩target.tar.gz文件中的内容:tar -xzvf target.tar.gz

pwd

  • 显示用户的当前工作目录(以绝对路径方式表示):

cd

  • 切换工作目录至绝对路径:cd  绝对路径   
  • 切换至当前所在目录:cd .
  • 切换至上一层目录:cd ..
  • 切换至上两级目录:cd ../ ..

mkdir

  • 创建目录:mkdir 目录名
  • 创建多个目录:mkdir  目录名1  目录名2(备注:目录名之间使用的空格隔开)
  • 在路径下创建目录:mkdir  绝对路径/目录名 
  • 在不同的路径下创建多个目录:mkdir  路径1/目录名1  路径2/目录名2    
  • 创建目录时指定权限:mkdir -m 目录权限 目录名(例如:mkdir -m 777 hello)

mv

  • 移动文件或目录(或用于文件或目录的重命名):mv   源文件或目录  目标文件或目录
  • 移动文件到另一个目录:mv file.txt  目录
  • 重命名文件:mv oldname.txt  newname.txt
  • 递归地移动目录及其内容:mv -r  sourcedir/  destination/
  • 强制覆盖目标位置已存在的文件:mv -f sourcefile.txt  destination/
  • 将文件移动到当前目录下并重命名:mv  /sourcedir/file.txt  newname.txt

ls

  • 列出当前工作目录的文件和子目录的列表:ls
  • 列出指定目录的文件和子目录:ls  指定目录(绝对路径)
  • 以列表方式列出当前工作目录的详细信息:ls -l
  • 列出隐藏文件:ls -a(备注:列出包括以点开头的隐藏文件在内的所有文件和目录)
  • 使用通配符进行过滤:ls  *.txt(备注:列出所有扩展名为 .txt 的文件)

cat 

  • 只读模式查看文件内容:cat 文件名(备注:也用选项有:-n(显示行号,包含空行)、-b(显示行号,不包含空行)、-v(查看非打印字符)
  • 合并多个文件的内容:cat  文件1  文件2
  • 将文件内容追加到另一个文件:cat  文件1 >> 文件2(备注:将文件1的内容追加到文件2的末尾)
  • 将文本输入到文件:cat > 文件(备注:这里将等待你输入文本,然后将输入的文本保存到文件中。要结束输入,请按 Ctrl + D)

grep

  • 搜索文件中包含关键字的文本:grep "关键字" 文件名
  • 搜索文件夹(包括其子文件夹)中包含关键字的文本:grep -r "关键字" 目录
  • 搜索文件中包含关键字的文本时忽略大小写:grep -i "关键字" 文件名
  • 搜索文件中包含关键字的文本时显示匹配行的行号:grep -n "关键字" 文件名
  • 显示匹配行之前/之后的行:
grep -B 2 "pattern" filename  # 显示匹配行之前的2行
grep -A 3 "pattern" filename  # 显示匹配行之后的3行
  • 搜索文件中不包含关键字的行:grep -v "关键字" 文件名
  • 将搜索结果输出到文件:grep "关键字" 搜索文件名 > 输出文件名

head

  • 查看文件的前M行:head  -n  M  文件名(备注:不使用选项-n 则默认显示10行内容)
  • 显示多个文件的开头部分:head   文件1  文件2 
  • 显示非打印字符:head -v 文件名

find

  • 根据文件名在起始目录及其子目录中搜索文件:find 起始目录 -name "文件名"
  • 根据文件类型在起始目录及其子目录中搜索文件:find 起始目录 -type f

备注:

          -type f 中的 f 表示要搜索的文件类型。具体来说,f 代表普通文件(regular file)。当你使用 -type f 选项时,find 命令会搜索指定目录及其子目录中的普通文件,而不包括目录、设备文件、符号链接或其他特殊文件类型。

          这是 -type 选项的一些常见参数和它们的含义:

  • f:代表普通文件。
  • d:代表目录。
  • l:代表符号链接(软链接)。
  • c:代表字符设备文件。
  • b:代表块设备文件。
  • p:代表命名管道(FIFO)。
  • s:代表套接字文件。

          因此,当你运行 find 起始目录 -type f 命令时,它会搜索起始目录及其子目录中的普通文件,并将它们列出或执行其他操作,具体取决于你的 find 命令的后续操作。

  • 根据文件大小在起始目录及其子目录中搜索文件:find  起始目录  -size  +1M(备注:查找大小大于1兆字节的文件)
  • 根据修改日期在起始目录及其子目录中搜索文件:find  起始目录  -mtime  -7(备注:查找最近7天内修改过的文件)
  • 根据文件权限在起始目录及其子目录中搜索文件:find  起始目录 -perm  644(备注:查找文件权限为644的文件)
  • 将匹配的文件输出到文件中:find  起始目录  -name  "*.txt"  > 文件(备注:这将在起始目录及其子目录中查找所有以 ".txt" 结尾的文件,并将结果输出到名为 files.txt 的文件中)

系统管理

ps

  • 列出当前用户的所有进程:ps
  • 列出所有进程的详细信息:ps -f
  • 查看运行中的进程:ps -r
  • 列出指定用户的进程:ps -u 用户名
  • 查找特定进程的信息:ps -p PID(备注:这将显示指定PID(进程ID)的进程的信息)

top

  • 显示进程(任务)信息:top(备注:按q键退出)

kill

  • 终止指定进程ID的进程:kill 进程ID(备注:向进程发送终止信号SIGTERM,使其正常退出)
  • 终止指定进程名的进程:pkill 进程名(备注:终止所有名为 "进程名" 的进程)
  • 强制终止进程:kill -9 进程ID(备注:向进程发送强制终止信号SIGKILL,强制终止进程)
  • 发送其他信号:kill -SIGNAL 进程ID(备注:可以使用 -SIGNAL 格式的选项来指定发送的信号类型)
  • 查看可用的信号名称和对应的编号:kill -l

date

  • 显示当前系统的日期和时间:date(备注:通常的格式类似于 "Sat Sep 25 14:30:00 UTC 2023")
  • 以自定义格式显示日期和时间:date  "+%Y-%m-%d %H:%M:%S"(备注:这将以 "YYYY-MM-DD HH:MM:SS" 的格式显示当前日期和时间,例如 "2023-09-25 14:30:00")
  • 设置系统日期和时间为指定的值:date  --set  "2023-09-25 14:30:00"

cal

  • 显示当前月份的日历:cal
  • 显示指定月份和年份的日历:cal 月份 年份

history

  • 显示命令历史号和执行的命令的列表:history
  • 显示特定数量N的历史命令:history N
  • 清除命令历史记录:history -c
  • 将命令历史记录保存到文件:history -w 文件名

clear

  • 清除屏幕上的所有文本:clear

sudo

  • 以超级用户权限执行命令:sudo command(备注:需要输入用户密码验证身份)
  • 以其他用户的权限执行命令:sudo -u username command

软件包管理

rpm

         rpm 命令是在基于RPM包管理系统的Linux系统中用于管理软件包的命令。RPM(Red Hat Package Manager)是一种常见的包管理系统,用于安装、升级、查询和卸载软件包。

         请注意,rpm 命令用于管理RPM软件包,而不同的Linux发行版可能使用不同的包管理系统(如Debian的APT或Fedora的DNF)。因此,具体的包管理命令可能会因发行版而异。要查看有关 rpm 命令的更多详细信息和选项,请使用 man rpm 命令查看帮助文档。

  • 安装RPM软件包:rpm -i  package.rpm
  • 升级软件包:rpm -U package.rpm(备注:如果软件包不存在则安装它)
  • 查询已安装的软件包:rpm -q package-name
  • 显示软件包信息:rpm -qi package-name
  • 列出系统上所有已安装的软件包的名称:rpm -qa
  • 卸载软件包:rpm -e package-name
  • 查询软件包提供的文件:rpm -ql package-name
  • 查询软件包由哪个软件包依赖:rpm -q --whatrequires package-name
  • 查询软件包依赖哪个软件包:rpm -q --requires package-name

yum

         yum 命令是在基于RPM包管理系统的Linux系统中用于安装、升级、删除和管理软件包的命令。它是一个包管理工具,常用于Red Hat、CentOS和Fedora等Linux发行版中。

         请注意,yum 命令在不同的Linux发行版中可能有不同的变体,例如在Fedora中使用 dnf 命令来执行相似的操作。要查看有关 yum 命令的更多详细信息和选项,请使用 man yum 命令查看帮助文档。

  • 安装软件包以及其依赖项:yum install package-name
  • 升级系统上已安装的软件包:yum update(备注:包括操作系统本身)
  • 升级特定的软件包:yum update package-name
  • 搜索可用的软件包:yum search 关键字
  • 列出所有已安装的软件包:yum list installed
  • 卸载软件包:yum remove package-name(备注:这将卸载软件包,但保留其配置文件)
  • 清理系统中的旧软件包文件:yum clean packages
  • 清理软件包的缓存:yum clean all(备注:包括元数据)
  • 列出软件包的信息:yum info package-name

apt

         apt 命令是在基于Debian包管理系统的Linux系统中用于管理软件包的命令。它是一个包管理工具,常用于Debian、Ubuntu和其他基于Debian的Linux发行版中。         

         请注意,apt 命令是用于Debian包管理系统的工具,而在不同的Linux发行版中可能有不同的包管理工具和命令。要查看有关 apt 命令的更多详细信息和选项,请使用 man apt 命令查看帮助文档。

  • 更新系统上可用软件包的列表:apt update(备注:以便 apt 知道有哪些新的软件包可用)
  • 安装软件包以及其依赖项:apt install package-name
  • 升级系统上所有已安装的软件包:apt upgrade(备注:区别于yum 命令,apt upgrade不会升级操作系统本身)
  • 升级特定软件包:apt  install  --only-upgrade   package-name
  • 搜索包含关键字 keyword 的可用的软件包:apt search keyword
  • 列出所有已安装的软件包:dpkg -l(备注:这使用了 dpkg 命令而不是 apt 命令)
  • 卸载软件包:apt remove package-name(备注:卸载软件包,但保留其配置文件)
  • 清理软件包的缓存:apt clean(备注:删除下载的软件包文件,但不会删除已安装的软件包)
  • 列出软件包的信息:apt show package-name

关机与重启

  • 现在立刻关机:shutdown -h now    
  • 10分钟后关机:shutdown -h 10    
  • 系统时间17:20时关机:shutdown -h 17:20
  • 立刻重启:shutdown -r now  
  • 取消重启或关机:shudown -c  
  • 关机:halt     
  • 关机:poweroff
  • 关机:init 0    
  • 重启:reboot
  • 重启:init 6    

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值