小言_互联网的博客

【Linux】Linux常用命令大全

401人阅读  评论(0)

1. 基础知识

1.1 文件系统结构


  
  1. /bin        存放普通用户可执行的指令,即使在单用户模式下也能够执行处理
  2. /boot      开机引导目录,包括Linux内核文件与开机所需要的文件
  3. /dev       设备目录,所有的硬件设备及周边均放置在这个设备目录中
  4. /etc        各种配置文件目录,大部分配置属性均存放在这里
  5. /home    这里主要存放你的个人数据,具体每个用户的设置文件
  6. /lib        开机时常用的动态链接库32位,bin及sbin指令也会调用对应的lib库
  7. /lib64     开机时常用的动态链接库64位,bin及sbin指令也会调用对应的lib库
  8. /media   可移除设备挂载目录,类似软盘 U盘 光盘等临时挂放目录
  9. /mnt       用户临时挂载其他的文件系统,额外的设备可挂载在这里,相对临时而言
  10. /opt        第三方软件安装目录,现在习惯性的放置在/usr/local中
  11. /proc      虚拟文件系统,通常是内存中的映射,特别在误删除数据文件后,只要系统不重启,有很大几率找回
  12. /root      系统管理员主目录,除root之外,其他用户均放置在/home目录下
  13. /run       系统运行是所需文件,以前防止在/var/run中,后来拆分成独立的/run目录
  14. /sbin     只有root才能运行的管理指令,跟bin类似,但只属于root管理员
  15. /srv       服务启动后需要访问的数据目录,
  16. /sys      跟proc一样虚拟文件系统,记录核心系统硬件信息
  17. /tmp     存放临时文件目录,所有用户对该目录均可读写
  18. /usr      应用程序放置目录
  19. /var      存放系统执行过程经常改变的文件
  20. /vmlinuz    是可引导的,压缩的linux内核,“vm”代表的“virtual memory”,一般是一个软连接
  21. /lost+found 存放文件系统错误导致文件丢失后找回数据的
  22. "" "其他重要目录 /var/log,存放系统日志信息:" ""
  23. /var/log/message      系统启动后的信息和错误日志,是Linux中最常用的日志之一
  24. /var/log/secure       与安全相关的日志信息
  25. /var/log/maillog      与邮件相关的日志信息
  26. /var/log/cron         与定时任务相关的日志信息
  27. /var/log/spooler      与UUCP和news设备相关的日志信息
  28. /var/log/boot.log     守护进程启动和停止相关的日志消息

1.2 Linux命令行含义


  
  1. 示例:root @app00:~ #
  2. root / /用户名,root为超级用户
  3. @ / /分隔符
  4. app00 / /主机名称
  5. ~ / /当前所在目录,默认用户目录为~,会随着目录切换而变化,例如:(root@app00:/bin # ,当前位置在bin目录下)
  6. # //表示当前用户是超级用户,普通用户为$,例如:("yao@app00:/root$" ,表示使用用户"yao"访问/root文件夹)

1.3 命令的组成成分


  
  1. 示例:命令体 [选项] [命令的参数,命令的对象] []代表可有可无
  2. cat - A test .txt
  3. head -n 10 test .txt
  4. 其他:如何获得命令的帮助?
  5. 1. 命令 -h 或 命令 --h
  6. 2. man 命令
  7. 3. info info是GNU的超文本帮助系统
  8. 4. help 命令

1.4 Linux包管理工具分类

(1)主流包管理器 Linux软件包管理

  • DPKG:即package manager for Debian ,是 Debian 和基于 Debian 的系统中主要的包管理工具,用来安装、构建、卸载、管理 deb 格式的软件包。Ubuntu dpkg使用详解
  • RPM  :全名是Red Hat Package Manager,一种数据库记录的方式将所需要的软件安装到Linux主机的一套管理程序。RPM简介与基本使用 - 大师兄啊哈 - 博客园

(2)软件包的依赖

        软件包之间可能存在依赖关系,甚至循环依赖,即:A包依赖B包,B包依赖C包,C包依赖A包 安装软件包时,会因为缺少依赖的包,而导致安装包失败。解决依赖包管理工具:

  • DNF :Fedora18+rpm包管理器前端工具,CentOS8版dnf代替yum
  • YUM :rpm包管理器的前端工具
  • APT :deb包管理器前端工具
  • zypper:suse上的rpm前端管理工具
  • pacman:就是Arch的apt-get pacman (简体中文) - ArchWiki
  • Portage:Gentoo Linux拥有的先进包管理系统,用Python编写的,具有很多先进的特性

(3)相关文档

【1】包管理器的进化 - 知乎

【2】技术|Linux 黑话解释:什么是包管理器?它是如何工作的?

【3】Linux软件包管理系统 – 标点符

 1.5 Linux系统分类

 1.6 CPU架构概述

CPU架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。目前市面上的CPU指令集分类主要分有两大阵营,一个是intel、AMD为首的复杂指令集CPU,另一个是以IBM、ARM 为首的精简指令集CPU。两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而IBM公司的CPU是 PowerPC架构,ARM公司是ARM架构 。


  
  1. 1.  主要架构:X86、ARM、MIPS、PowerPC、SPARC:
  2. 其中X86架构:IA、IA- 32、IA- 64、X86- 32、X86- 64、AMD64、Intel64
  3. 2. 指令集: CISC(复杂指令集)、 RISC(精简指令集)、 EPIC(显式并行指令集)、 VLIW(超长指令集)

2. 基础命令

2.1 开关系统


  
  1. ( 1)立刻关机
  2. shutdown -h now 或者 poweroff
  3. ( 2)两分钟后关机
  4. shutdown -h 2
  5. ( 3)立刻重启
  6. shutdown -r now 或者 reboot
  7. ( 4)两分钟后重启
  8. shutdown -r 2

 2.2 帮助命令


  
  1. ifconfig --help //查看 ifconfig 命令的用法
  2. man shutdown //打开命令说明后,可按"q"键退出

  2.3 切换用户


  
  1. useradd -d /home/newuser newuser(设定了该用户的主目录和用户名)
  2. passwd newuser

 2.4 查看CPU


  
  1. lscpu:
  2.   Architecture: #架构
  3.   CPU(s): #逻辑cpu颗数
  4.   Thread(s) per core: #每个核心线程
  5.   Core(s) per socket: #每个cpu插槽核数/每颗物理cpu核数
  6.   CPU socket(s): #cpu插槽数
  7.   Vendor ID: #cpu厂商ID
  8.   CPU family: #cpu系列
  9.   Model: #型号
  10.   Stepping: #步进
  11.   CPU MHz: #cpu主频
  12.   Virtualization: #cpu支持的虚拟化技术
  13.   L1d cache: #一级缓存(google了下,这具体表示表示cpu的L1数据缓存)
  14.   L1i cache: #一级缓存(具体为L1指令缓存)
  15.   L2 cache: #二级缓存
  16. cat /proc/cpuinfo #查看每个CPU详细信息

 3. 目录操作

3.1 切换目录(cd)


  
  1. cd / //切换到根目录
  2. cd /bin //切换到根目录下的bin目录
  3. cd ../ //切换到上一级目录 或者使用命令: cd ..
  4. cd ~ //切换到home目录
  5. cd - //切换到上次访问的目录
  6. cd xx(文件夹名) //切换到本目录下的名为xx的文件目录,如果目录不存在报错
  7. cd /xxx/xx/x //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全
  8. cd *123 //模糊匹配,切换到目标文件夹,例如 cd dafsfdgfgf123 等价于 cd *123

3.2 查看目录(ls)


  
  1. ls //查看当前目录下的所有目录和文件
  2. ls -a //查看当前目录下的所有目录和文件(包括隐藏的文件)
  3. ls -l //列表查看当前目录下的所有目录和文件(列表查看,更多信息),与 "ll"效果一样
  4. ls /bin //查看指定目录下的所有目录和文件
  5. ls -lR test/|grep "^-" | wc -l //统计出 test文件夹中文件的个数

3.3 创建目录(mkdir)


  
  1. mkdir -p file //当前目录创建file文件夹,若存在则不创建
  2. mkdir /home/file{1..3} //指定目录创建文件夹file1、file2、file3
  3. mkdir -m 777 file //创建权限为777的目录

3.4 删除目录与文件(rm)


  
  1. rm 文件名/文件夹名 //删除当前目录的的文件(询问)
  2. rm -f 文件名/文件夹名 //删除当前目录的的文件(不询问)
  3. rm -rf */文件夹名 //删除当前目录所有文件夹或某个文件夹、包括其内子文件夹和文件

3.5 修改目录(mv)


  
  1. mv 当前目录名 新目录名 //修改目录名,同样适用与文件操作=rename命令
  2. mv -r /usr/tmp/tool /opt //递归剪切目录中所有文件和文件夹
  3. mv test1.txt test2.txt file1/ //移动test1、2到文件夹file1
  4. -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  5. -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  6. -u :若目标文件已经存在,且 source 比较新,才会更新(update)

3.6 拷贝目录(cp)


  
  1. cp [选项] 源文件 目标文件
  2. -a:相当于 -d、-p、-r 选项的集合;
  3. -d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;
  4. -i:询问,如果目标文件已经存在,则会询问是否覆盖;
  5. -l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;
  6. -s:把目标文件建立为源文件的软链接文件,而不是复制源文件;
  7. -p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);
  8. -r:递归复制,用于复制目录;
  9. -u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。
  10. cp –r test/ newtest //将当前目录 test/ 下的所有文件复制到新目录 newtest下
  11. ls | head -n 100 |xargs -n1 -P 1 -i cp {} /home //将当前目录下100文件复制到home目录

 3.7 搜索目录(find)


  
  1. find /bin -name 'a*' //查找/bin目录下的所有以a开头的文件或者目录
  2. find . - type f //将当前目录及其子目录中的所有文件列出
  3. find . -name "*.c" //将当前目录及其子目录下所有文件后缀为 .c 的文件列出来

4. 文件操作

4.1 创建文件(touch)


  
  1. touch a. txt //创建文件(文件不存在),若文件存在,将文件时间属性修改为当前系统时间
  2. : > a. txt //将文件置空 等价于直接 xxx > a.txt

4.2 编辑文件(vi、vim)


  
  1. vi 文件名 / /打开需要编辑的文件
  2. --进入后,操作界面有三种模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
  3. 命令模式
  4. -刚进入文件就是命令模式,通过方向键控制光标位置,
  5. -使用命令"dd"删除当前整行
  6. -使用命令"/字段"进行查找
  7. -按"i"在光标所在字符前开始插入
  8. -按"a"在光标所在字符后开始插入
  9. -按"o"在光标所在行的下面另起一新行插入
  10. -按":"进入底行模式
  11. 插入模式
  12. -此时可以对文件内容进行编辑,左下角会显示 "-- 插入 --""
  13. -按"ESC"进入底行模式
  14. 底行模式
  15. -退出编辑: :q
  16. -强制退出: :q!
  17. -保存并退出: :wq
  18. ## 操作步骤示例 ##
  19. 1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车 //保存并退出编辑
  20. 2.取消操作:按"ESC" -> 输入":" -> 输入"q !",回车 //撤销本次修改并退出编辑
  21. ## 补充 ##
  22. vim +10 filename.txt //打开文件并跳到第10行
  23. vim -R /etc/passwd //以只读模式打开文件

4.3 查看文件

cat、less、more、headtail

 

5. 打包与解压

5.1 压缩说明


  
  1. . zip、. rar //windows系统中压缩文件的扩展名
  2. . tar //Linux中打包文件的扩展名
  3. . gz //Linux中压缩文件的扩展名
  4. . tar. gz //Linux中打包并压缩文件的扩展名
  5. .7z //其他压缩方式

5.2 ZIP打包解压


  
  1. yum -y install zip unzip #在linux中安装zip 、unzip
  2. zip -P 密码 -r A. zip file1/* #按照原来目录,加密压缩文件夹
  3. unzip /root/jieya aaa. zip #解压zip压缩文件
  4. unzip -O GBK file. zip #原来在windows上的zip文件, 在CentOS上使用unzip直接解压会显示乱码,因为windows简体中文版的操作系统一般上用的是GBK编码, 所以会导致这个问题

5.3 RAR打包解压


  
  1. #安装
  2. wget http://www.rarlab.com/rar/rarlinux-x64-5.0.0.tar.gz
  3. tar -zxvf rarlinux-x64-5.0.0.tar.gz
  4. mv rar /opt/
  5. cd /opt/rar/
  6. make && make install
  7. unrar e test.rar DestPath #解压(会在把当前压缩包内容解压到当前目录内,容易造成解压内容和当前目录原文件混合,不容易区分,不建议使用)
  8. unrar x test.rar DestPath #解压(会在当前解压目录内产生一个以压缩包名字命名的目录,目录内是解压内容,推荐使用

 5.4 7z打包解压


  
  1. #centos7安装
  2. yum install epel-release
  3. yum install p7zip
  4. #分卷压缩
  5. 7z a name.7z filename -v10m
  6. #普通压缩
  7. 7za a -pvirus -t7z xxx.7z ./*
  8. https://blog.csdn.net/liaowenxiong/article/details/117447893
  9. #解压
  10. 7za e -ofile/ ransom.zip #解压到指定目录
  11. 7za x ABC.7z -r -o./ #-r 表示递归解压缩所有的子目录;参数 e 也是解压缩文件,但其会将所有文件都解压到根下,而不是自己原有的目录下(x代表解压缩文件,并且是按原始目录树解压)
  12. 参考文献:https://blog.csdn.net/lyblyblyblin/article/details/68485625?spm
  13. #批量解压
  14. ls |xargs -i -n1 echo {} |awk -F '.' '{print $1}' |xargs -n1 -t -i 7za x -pvirus {}.7z -r -o./{}
  15. sudo apt-get install p7zip-full p7zip-rar
  16. sudo yum install p7zip p7zip-plugins
  17. 7z a yajiu.7z *.jpg
  18. 7z x -y -p密码 压缩包 -o文件路径


转载:https://blog.csdn.net/qq_32643313/article/details/125442389
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场