Linux命令详细总结(万字总结值得一看)

本文涉及的产品
云防火墙,500元 1000GB
简介: 🍅程序员小王的博客:程序员小王的博客🍅 欢迎点赞 👍 收藏 ⭐留言 📝🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕🍅java自学的学习路线:

Linux命令详细总结目录


一、什么是Linux?

1、linux简介

Linux是基于Unix的


Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机



2、Linux的历史

诞生于1991 年10 月5 日。是由芬兰赫尔辛基大学学生(林纳斯 托瓦兹)Linus Torvalds和后来加入的众多爱好者共同开发完成(linux 0.0.1.x86系统)最后



后来发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来,之后(1994年)Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统.(1994年version1.0 正式版本,功能完善,稳定的版本)



林纳斯 托瓦兹 2周时间写出 git 分布式版本控制工具(接收世界各地发来的代码,对linux系统修改)


3、Linux系统的应用场景:

(1)核心应用场景

核心: 用在服务器操作系统方面 (服务器系统Web应用服务器、数据库服务器、接口服务器)


嵌入式系统路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,DNS、FTP等等;


高性能运算、计算密集型应用Linux有强大的运算能力。


桌面应用系统


移动手持系统


(2)为什么不用windows?

捆绑收费,因为数据库用sqlServer费用高


4、Linux的版本

Linux的版本分为两种: 内核版本 和发行版本 ;


(1)内核版本

内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号 ;


(2)发行版本

发行版本是一些组织和公司根据自己发行版的不同而自定的 ;


5、Linux的特点

特点:免费,多用户,多任务,支持多线程和多CPU的操作系统,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,出色的速度性能。


6、Linux的发行版

redHat(红帽),centos,suse,ubuntu,红旗Linux


7、常见的操作系统

Unix(价格昂贵),Dos(简易,windows,不开源),MacOs(苹果计算机的操作系统),linux(廉价,完全开发的系统)


二、Linux之Cent OS 7

1、centos 引言

CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的[Red Hat](https://baike.baidu.com/item/Red Hat) Enterprise Linux使用。两者的不同,在于CentOS完全开源 。


2、centos 和 readheat区别

目前的Linux操作系统主要应用于生产环境,主流企业的Linux系统仍旧是RedHat或者CentOS,他们出自于同样的源代码,但centos完全免费。其独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!


三、Linux中目录结构


/ 根目录
bin 二进制可执行命令文件
sbin (超级管理员有权操作)二进制可执行命令
etc 存放系统配置文件的目录
usr 共享资源目录   (共享资源:1.放在usr下 资源共享 2.设置权限)
root root用户的家目录(pwd:就会直接进入/root 进入系统根下的root目录)
home  普通用户,进入系统中,是在/home/用户名下(根下的home下的用户名)
tmp: 临时文件的存放目录


root管理员的home目录root,其他用户的home目录home目录中

四、Linux中常用指令

(1)基本命令格式

命令名 -选项 参数

javac -d aa.java
ls -l /usr


注意:linux命令严格区分大小写


(2)ls 查看文件目录结构

ls 查看当前目录结构



ls /usr 查看指定目录 


  • 选项
ls -l 长格式显示当前目录(显示显示当前目录)



ls -a   (a=all 以.开头的都是隐藏文件,可以展示所有隐藏文件)



ls -a -l (长文件和全部文件组合使用)




ls -R 递归(查看子目录及其子目录下的子目录,ctrl+c结束当前程序)



ll 长文件显示当前长目录



(3)操作文件命令[重点]

1、pwd 显示当前目录

ctrl+c:结束当前执行命令
pwd:显示当前目录



clear :清屏



2、cd 切换当前所在目录

cd / 切换到根目录
cd .. 切换到上级目录
cd . 当前目录
回家(回到root的根目录) cd/,cd~
切换到用户主目录cd - 
使用tab键来补全文件路径



3、touch 创建空文件

touch 文件名 当前目录下新建空文件
touch /usr/文件名 在共享资源目录下创建新文件




4、mkdir 创建文件夹(目录)

mkir 目录名 当前目录中新建目录
mkdir /usr/目录名  在指定目录下新建目录



mkdir -p aa/bb/cc/dd  按照目录结构创建目录 -p值父级目录不存在时先去创建父级目录


5、rm 删除文件或目录

rm 文件  删除文件(删除提示:y删除 n不删除)
rm -f  强制删除(f:force)
rm -r 递归删除(删除当前文件及其里面的子文件、子目录)
rm -rf  强制递归删除,就不会出现很多提示了
rm -rf /* 慎用 直接删除所有文件 相当于删掉整个操作系统




rm -r 递归删除(删除当前文件及其里面的子文件、子目录)


rm -rf  强制递归删除,就不会出现很多提示了



rm *.txt 通配的形式,删除以txt结尾的文件



rm bb.txt cc.txt


6、cp 复制文件

cp 文件名 目录名 将文件拷贝到指定目录中
cp -r 目录名 目录名 将目录及其内部所有文件夹和目录拷贝到目录中



7、mv 移动文件和文件夹

mv 已有文件名 不存在的文件名 修改文件名
mv 已有文件名 存在的目录 移动文件
mv 已有的目录 不存在的目录  修改目录名
mv 已有的目录 存在的目录   移动目录


8、rmdir 只能删除为空的目录(文件夹)

9、cat 查看文件内容

cat 文件名 查看文件 只能展示一个版面(最后一页内容)



10、more 分页查看文件内容

more  文件名 分页查看文件内容 enter 进行回车,一次多展示一行



11、less的 分页查看文件内容

less 文件名 分页查看文件内容,可以上下展示行 pageUp|pageDown可以分页 
:q 退出当前less


12.head 展示文件开头10行

head 文件名


13.tail展示文件末尾10行

tail 文件名


  • -n 设置展示多少行
head -n 11 aa.txt


-f 循环读取文件【实时监控】


-f的作用 监控服务器日志的运行状态



14.echo 操作终端输出命令

echo 文本 在终端输出命令
echo 文件夹>>文本 将文本输入到文件夹




将文本输入到文件夹



(4)网络相关的命令

1、ip addr 查看当前计算机的ip地址【centOS7特有】

ip addr 查看当前计算机的ip地址
ip a 简化写法 查看当前计算机的ip地址
ifconfig centOS7之前查看ip地址的



2、ping 测试网络连通性

ping ip|网络
ping 192.168.0.1 数据包展示 丢失 0%
ping www.baidu.com



(5)较难的命令

1、Tar命令(windows winrar)

tar 归(压缩)命令
  -c 建立一个压缩文件的参数指令
  -x 解压
  -z 是否使用gzip压缩
  -v 压缩日志
  -f 压缩后的名字,在f后面直接写压缩名,以.tar结尾
  tar -cf whj.tar aa.txt bb.txt cc.txt 压缩命令
  tar -xf whj.tar 解压缩
  tar -cvf whj.tar aa.txt bb.txt cc.txt 归档命令显示文件
  tar -xvf whj.tar 解压缩并且显示解压的名字
  【常用】
  tar -cvzf whj.tar aa.txt bb.txt cc.txt 归档命令显示文件
  tar -xvzf whj.tar 解压缩并且显示解压的名字

 




2、systemctl服务命令(相当于控制Controller)

systemctl 操作 服务名
操作:
启动: start
重启: restart
停止:stop查看状态 status
服务名:
mysqlId mysql数据库服务名
firewalld  linux系统的防火墙服务名
network    linux的网络服务名


防火墙服务命令

查看防火墙的状态 systemctl status firewalld



3、ps 进程相关命令

ps 查看前台进程
ps -aux 查看当前系统中所有进程,及其使用的用户
ps -ef 后台进程


(6)vi命令

vi/vim 用于文件内容编辑
vi 文件名
vi /usr/文件名


vi/vim 文件名进入文件后---》命令模式---》插入模式--->退出
                         i,a,o                 ESC
                    ----》末行模式-----》退出模式
                          :             w:保存 q:退出 !:强制退出
                                             :q! 强制退出不保存




1、命令模式下的命令

     i            在光标前插入
     I            在光标当前行开始插入
     a            在光标后插入
     A            在光标当前行末尾插入
     o            在光标当前行的下一行插入新行
     O            在光标当前行的上一行插入新行
     gg        到文本的第一行
     G        到文本的最后一行


2、末行模式下命令

  ----------------重点---------------------------
     :set nu      显示行号
     :set nonu    取消行号
     gg        到文本的第一行
     G        到文本的最后一行
     :n(数字)    到文本的第n行



8、回退到上一步和前进

  ------------------重点-------------------------
     u        undo,取消上一步操作
     Ctrl + r    redo,返回到undo之前

(7)软件相关命令(rpm)

1、用户和组相关命令

whoami  查看当前用户 只显示用户名
who 查看当前登录终端   用户名+登录终端+登录时间



who -q       统计用户登录个数
who --count  统计用户登录个数



exit :退出当前系统



添加删除用户

添加用户: useradd 用户名
设置密码:passwd 用户名 (需要输入两次)
删除用户:userdel 用户名



创建用户,并指定组名

 如果不指定组 系统会以用户名创建组
         在创建用户时可以指定他所属的组 -g
添加用户并且设置组 useradd 用户名 -g 指定组名 
.添加、删除组账号:groupadd、groupdel


用户和root的区别

root用户[root@localhost~]#
普通用户 普通用户[用户名@localhost~]#



2、切换用户

su  root   切换用户,管理员切换其他用户需要密码,其他用户互相切换需要密码




(8)权限相关的命令 chmod

Linux文件有三种典型的权限,即r读权限、w写权限和x执行权限。在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的。r=4,w=2,x=1

-         rw-                r--              r--
文件-    属主(创建者的)权限   属组的权限           其他的权限
目录是d               文件创建者同组用户的权限     其他人员的权限
r:可以读
w:可以写
x:可以执行



修改文件操作权限
cchmod 权限设置 文件名
权限设置:
    增加权限 +
    撤销权限 -
    设定权限 =
chmod 给谁加+添加的权限 aa.txt
给谁加
属主(作者):u user
属组(和作者一个组的人):g group
其他成员(其他用户): o other
添加权限:
chmod u+x,g+wx,o+wx  aa.txt 
(给作者自己加可以执行权限,
给同组的用户添加写执行权限,
给其他用户添加写执行权限)
撤销权限
chmod u-rwx,o-rw,o-rx aa.txt


设定权限
chmod u=rwx,o=rw,o=rx aa.txt




数字法表示权限
读 r4 写w2 执行x1
属主 属组 其他
7    7    7
chmod 123 aa.txt 
(作者可以执行
同组的人可以写
其他人可以读
)
chmod 664 bb.txt

相关文章
|
4天前
|
运维 监控 网络协议
Linux抓包命令tcpdump使用技巧大全
【7月更文挑战第10天】
22 4
Linux抓包命令tcpdump使用技巧大全
|
4天前
|
监控 数据挖掘 Linux
探索Linux中的`sort`命令:数据处理与分析的得力助手
`sort`命令是Linux下文本数据排序利器,用于按字典、数字顺序等对行排序。关键参数有:-n(数字排序),-r(逆序),-u(去重),-k(指定字段),-t(字段分隔符)和-o(输出到文件)。在处理大文件时注意内存使用,确保字符编码一致,灵活运用管道和重定向。通过熟练使用`sort`,能提升数据分析效率。
|
4天前
|
数据挖掘 Linux 数据处理
Linux命令sprof详解
**`sprof`是Linux下的共享库性能分析工具,补充`gprof`,专注分析`.profile`文件以识别性能瓶颈。通过调用次数、执行时间数据优化资源和代码。使用参数如`-F`、`-I`、`-d`进行定制化分析。示例:先设置`LD_PROFILE`环境变量,运行程序生成`.profile`,然后用`sprof`分析。注意需用`-g`编译程序,并在代表性的负载下分析。结合其他工具如`perf`、`valgrind`提升分析效果。**
|
4天前
|
存储 数据挖掘 Linux
Linux命令split详解:大文件处理的得力助手
`split`命令是Linux用于将大文件分割成小文件的工具,常用于日志处理、备份。它支持按行数(-l)、字节数(-b)分割,并能自定义输出文件名(-a, -d)。例如,`split -b 10M largefile.txt smallfile_`会按10MB切割`largefile.txt`,生成`smallfile_`开头的文件。注意确保磁盘空间充足,避免文件名冲突,并备份原始文件。结合其他命令使用,能提高文件管理效率。
|
4天前
|
数据挖掘 大数据 Linux
探索Linux中的snice命令:一个虚构但启发性的数据分析工具
`snice`是一个想象中的Linux命令,用于低优先级地从大数据集中抽样数据。它结合`nice`和`sampling`,支持多种抽样策略,如随机和分层。参数包括指定样本数、策略、输入输出文件和进程优先级。示例:`snice -n 1000 -s random -i large_log.txt -o sample_log.txt`。使用时注意资源管理、数据完整性及权限,并与其它工具结合使用。虽然虚构,但体现了Linux工具在数据分析中的潜力。
|
1天前
|
关系型数据库 MySQL Linux
Linux命令systemctl详解
`systemctl`是Linux系统用于管理systemd服务的核心命令,它与systemd守护进程交互,实现启动、停止、重启服务及查看服务状态等功能。主要参数包括`start`、`stop`、`restart`、`status`、`enable`和`disable`等。例如,启动Apache服务使用`systemctl start httpd.service`,查看服务状态用`systemctl status <service>`。使用时需注意权限,服务名通常以`.service`结尾,但命令中可省略。最佳实践包括利用tab键补全、定期查看服务状态和合理配置服务自启。
|
1天前
|
存储 安全 Linux
Linux命令sync详解
`sync`命令在Linux中用于将内存缓冲区的数据强制写入磁盘,保证数据持久性和一致性。它在关机、重启或重要文件操作前后使用,以防数据丢失。工作原理是强制将内存中的数据同步到磁盘,特点是阻塞式执行且通常无需参数。常见用法包括安全关机、数据备份和配置文件修改后确保更改生效。应注意,过度使用可能影响性能,应适时使用`fsck`检查文件系统一致性。
|
1天前
|
存储 算法 安全
Linux命令sum详解
`sum`命令在Linux中用于计算文件的校验和与磁盘块数,确保文件传输或存储时的完整性。它使用加法运算生成校验和,可与文件内容比较验证变化。支持不同算法(如CRC),能处理多个文件。基本用法包括:`sum file.txt`来计算校验和,`sum -c checksum.txt`来验证文件完整性。但要注意,更强的校验算法如MD5或SHA家族可能更适合安全性需求。结合`find`和`xargs`可用于目录的递归校验。定期校验和记录校验和是最佳实践。
|
1天前
|
安全 数据管理 Shell
Linux命令su详解
`su`命令在Linux中用于切换用户身份,常用于权限管理。它允许用户无须注销当前会话就切换到另一个用户,尤其是root。`su`有多种选项,如`-`或`--login`加载目标用户环境,`-c`执行指定命令后返回。使用时需注意权限安全,建议用`sudo`以减少风险。通过限制`/etc/pam.d/su`可加强访问控制。`su`在系统维护和数据管理中扮演角色,但不直接处理数据。
|
4天前
|
监控 安全 Linux
Linux命令truss详解:系统调用跟踪的利器
`truss`(或`strace`)是Linux调试利器,用于跟踪系统调用和信号。它帮助开发者优化性能、调试错误和进行安全审计。通过附加到进程,记录调用细节、参数、返回值和错误。使用参数如`-d`显示调试信息,`-e`跟踪特定调用,`-o`输出到文件,`-p`跟踪指定进程。注意其对性能的影响,通常需要root权限,并建议过滤输出和结合其他工具分析。