Linux基础命令汇总

news2024/11/25 14:22:47

用户管理

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    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1050610.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于 Python+DenseNet121 算法模型实现一个图像分类识别系统

项目展示 一、介绍 DenseNet(Densely Connected Convolutional Networks)是一种卷积神经网络(CNN)架构,2017年由Gao Huang等人提出。该网络的核心思想是密集连接,即每一层都接收其前面所有层的输出作为输…

CISSP学习笔记:安全脆弱性、威胁和对策

第九章 安全脆弱性、威胁和对策 9.1 评估和缓解安全脆弱性 9.1 硬件 处理器执行类型 多任务处理: 同时处理两个或更多任务多处理: 利用多个处理器完成一个应用程序的处理能力多程序设计:通过操作系统对单个处理器上的两个任务进行协调&…

AHH HackerHouse @Move大理站完美谢幕

Antalpha HackerHouse Move 大理站于2023年9月23日在面包树举办了Final DemoDay,这也代表着为期21天的 HackerHouse 活动完美谢幕。 自从9月3日开始,整整21天的共居时间里,我们从个体逐渐融汇成小团队,最终成为了一个紧密团结的大…

新手教程,蛋糕小程序的搭建流程一网打尽

作为一名新手,想要搭建一个蛋糕小程序可能会觉得有些困惑。但是,不用担心!今天我将为大家详细介绍蛋糕小程序的搭建流程,并带大家一步步完成。 首先,我们需要登录乔拓云网的后台。在登录成功后,点击进入商城…

OCI 发布了容器运行时和镜像规范!

7 月 19 日是开放容器计划Open Container Initiative(OCI)的一个重要里程碑,OCI 发布了容器运行时和镜像规范的 1.0 版本,而 Docker 在这过去两年中一直充当着推动和引领的核心角色。 我们的目标是为社区、客户以及更广泛的容器行…

医疗小程序开发:技术门槛高?

随着移动互联网的普及,医疗行业也逐渐转向线上。医疗小程序开发成为了很多企业和医疗机构关注的焦点。但是,对于一些技术小白来说,可能会觉得医疗小程序开发技术门槛高,无从下手。实际上,使用乔拓云平台进入后台&#…

《Python趣味工具》——ppt的操作(刷题版)

前面我们对PPT进行了一定的操作,并将其中的文字提取到了word文档中。现在就让我们来刷几道题巩固巩固吧! 文章目录 1. 查看PPT(上)2. 查看PPT(中)3. 查看PPT(下)4. PPT的页码5. 大学…

KUKA机器人通过3点法设置工作台基坐标系的具体方法

KUKA机器人通过3点法设置工作台基坐标系的具体方法 具体方法和步骤可参考以下内容: 进入主菜单界面,依次选择“投入运行”—“测量”—基坐标,选择“3点法”, 在系统弹出的基坐标编辑界面,给基座标编号为3,命名为table1,然后单击“继续”按钮,进行下一步操作, 在弹出的…

【论文极速读】Prompt Tuning——一种高效的LLM模型下游任务适配方式

【论文极速读】Prompt Tuning——一种高效的LLM模型下游任务适配方式 FesianXu 20230928 at Baidu Search Team 前言 Prompt Tuning是一种PEFT方法(Parameter-Efficient FineTune),旨在以高效的方式对LLM模型进行下游任务适配,本…

车联网时代,能链车联凭什么成为“关键先生”?

又到国庆长假,许多人开启远途旅行,高速路上一如既往的拥堵。在密密麻麻的汽车中,新能源汽车变得越来越多。 事实上,新能源汽车的热潮,已经成为不可抵挡的趋势。据中国乘联会的最新数据,今年中国新能源乘用…

USB TypeC接口说明

USB TypeC 拥有诸多优点:双面可插不担心正反、可做USB/雷电高速传输载体,支持 PD快充、音频设备、HDMI传输、调试模式等诸多功能。 市面上的其他USB接口和充电接口在逐步被TypeC替代,可以预见的是,TypeC作为一种多兼容性接口,其未来会具有非常长的生命周期。 本文主要介…

Eclipse环境基于HDFS的API进行开发

文章目录 IOUtils方式读取文件1.文件准备2.下载安装Eclipse3.打开eclipse,新建java项目,添加关于hadoop的一些包4.包内新建类进行开发5.利用打包的方式生成java jar包6.验证代码正确性 其它问题:Exception in thread “main“ java.lang.Unsu…

TouchGFX界面开发 | 添加触摸屏驱动

使用STM32CubeMX移植TouchGFX 一文中介绍了如何用TouchGFX点亮屏幕,但是此时屏幕还没有触摸的功能。下面将介绍如何添加触摸屏驱动到TouchGFX中 一、STM32CubeMX配置 在使用STM32CubeMX移植TouchGFX 文中的STM32CubeMX配置基础上,再激活一个定时器&…

Pikachu靶场——XXE 漏洞

文章目录 1. XXE1.1 查看系统文件内容1.2 查看PHP源代码1.3 查看开放端口1.4 探测内网主机 1. XXE 漏洞描述 XXE(XML External Entity)攻击是一种利用XML解析器漏洞的攻击。在这种攻击中,攻击者通过在XML文件中插入恶意实体来触发解析器加载…

自然语言处理(NLP)学习之与HanLP的初相识

目录 前言 一、自然语言处理基本知识 1、NLP类别 2、核心任务 二、Hanlp简要介绍 三、Hanlp云服务能力 1、全新云原生2.x 2、Python api调用 3、Go api调用 4、Java api调用 四、Hanlp native服务 1、本地开发 总结 前言 在ChatGPT的滚滚浪潮下,也伴随着人工智…

深入理解JavaScript中的事件冒泡与事件捕获

在JavaScript中,事件是交互式网页开发中的关键概念之一。了解事件冒泡和事件捕获是成为一名优秀的前端开发者所必需的技能之一。本文将深入探讨这两个概念,解释它们是如何工作的,以及如何在实际应用中使用它们来处理事件。 一.什么是事件冒泡…

No151.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

冲刺十五届蓝桥杯P0002 日期统计

文章目录 题目分析代码 题目 分析 需要明白一些概念,子序列、连续子序列。 1.子序列(subsequence)是指原始序列中按照相同顺序选择零个或多个元素而形成的序列。连续子序列(subarray)是指原始序列中相邻位置的元素构…

计算机网络之传输层

计算机网络 - 传输层 计算机网络 - 传输层 UDP 和 TCP 的特点UDP 首部格式TCP 首部格式TCP 的三次握手TCP 的四次挥手TCP 可靠传输TCP 滑动窗口TCP 流量控制TCP 拥塞控制 1. 慢开始与拥塞避免2. 快重传与快恢复 网络层只把分组发送到目的主机,但是真正通信的并不是…

网络-OSI、TCP、浏览器URL、CDN

文章目录 前言一、OSI七层模型二、TCP/IP和UDPTCP三次握手四次挥手 三、 浏览器输入URLURLDNS查询TCP/IP连接浏览器缓存强缓存协商缓存断开连接 浏览器渲染 四、 CDN总结 前言 本文记录OSI七层参考模型,和TCP/IP基本介绍。 一、OSI七层模型 七层参考模型分别是&am…