Linux系统常用命令
7. Linux系统中常用命令
注意: 在使用Linux系统命令时严格区分大小写
使用命令语法: 命令 [-选项] [参数] 其中括号里面的内容有时候可以省略
7.1 查看目录中文件和目录列表
# 查看目录中文件和命令ls . 查看当前目录中文件和目录,其中 . 可以省略不写ls -l 查看当前目录中文件和目录的详细信息ls -a 查看当前目录中的所有文件(包含隐藏文件,隐藏文件都是以 . 开头的)ls -R 递归查看当前目录中的所有文件和子目录ls 路径 -l 或ls -l 路径路径写相对路径或者绝对路径都可以查看指定路径中的文件和目录,其中-l可以省略或换为-a或-R,和上面作用是一样的组合使用(可以加上路径):ls -la 查看当前目录中所有文件的详细信息ls -lR 递归详细查看当前目录中的所有文件和子目录的信息ls -aR 递归查看当前目录中及其子目录中所有文件的列表(包含隐藏信息)ls 路径 -la 或 ls -la 路径路径写相对路径或者绝对路径都可以# 清屏clear清空当前页面# 关于 ls -l 显示的当前目录中文件和文件夹的详细信息的解析-rw-r--r--. 1 root root 0 4月 20 15:50 aa.txt-rw-------. 1 root root 1257 4月 20 2022 anaconda-ks.cfgdrwxr-xr-x. 2 root root 6 4月 20 15:51 bb首先第一段有10位,其中第1位代表文件的类型 -代表是一个文件 d代表是一个目录(也就是文件夹)接下来的9位中每3位构成了一个权限,总共是9位第一个3位: 代表当前文件创建者的操作权限 r(读) w(写) x(执行)第二个3位: 代表当前文件创建者的同组用户对文件的操作权限最后的3位: 代表当前文件创建者的不同组用户对该文件的操作权限1代表它在机器上的链接数,硬链接代表把文件进行拷贝,软链接代表快捷方式,1代表硬链接数为1,即只有它自己,一般文件链接数为1,目录(文件夹)链接数为2第一个root代表当前文件是谁创建的,第二个root代表创建这个文件的用户属于哪个组,Linux是基于组进行管理文件的,root用户属于root组之后的0代表文件的大小再之后就是文件最后一次修改的时间最后就是文件(或者是文件夹)的名字
7.2 关于路径的相关指令
# 关于路径的相关指令cd 路径名: 进入指令路径(绝对路径或者相对路径都可以)pwd : 显示当前所在路径回到 root 用户的家目录,即 /rootcd /root 或 cd ~ 或 cd
7.3 操作文件相关的命令
# 创建文件touch 文件名 : 在当前目录创建文件touch 路径/文件名 : 在指定路径中创建文件,路径写绝对路径或者相对路径都可以同时创建多个文件,直接在后面接就可以了对于touch创建文件的指令来说,如果文件不存在,那就是创建文件,如果文件存在,会修改文件的创建时间,但是文件里面的内容不会改变补充:Tab键可以尽量自动补全# 创建目录(文件夹)mkdir 目录名: 在当前目录下创建一个目录(文件夹)mkdir 路径/目录名: 在指定目录下创建目录同时创建多个目录,直接在后面接就可以了上面的两种方式只能创建单级目录,即父目录必须存在如果想要创建多级目录,我们需要 -p 参数(parents) : ls 路径 -p : 路径中存在的目录不会再创建,路径中不存在的目录会被创建,可以创建多级目录# 复制文件或目录相关的命令cp 文件名 路径名 : 复制文件到指定目录cp 路径/文件 路径名 : 复制指定路径中的文件到指定路径不过上面两种方式都只能复制文件,如果想要复制目录(文件夹),需要加上 -r 参数,加上 -r 参数之后复制文件或者目录都可以cp 目录 路径名 -r : 复制目录(文件夹)到指定目录cp 路径/目录 路径名 -r :复制指定目录中的目录(文件夹)到指定目录# 移动文件或目录、文件或目录改名(move)mv 文件名 新文件名 : 文件改名mv 文件名 目录名 : 文件移动mv 目录名 不存在目录名 : 目录改名 mv 目录名已存在目录名 : 目录移动# 删除文件或目录rm 文件名 : 删除当前目录下指定文件rm 目录名 : 删除当前目录下指定目录(文件夹)当然也可以删除指定目录下的文件或目录( rm 路径/文件 )( rm 路径/目录 )上面这两种在删除时有友情提醒,输入指令之后根据提示输入 y 才会删除-r 加上这个参数之后就可以删除目录了,但是只加上这个参数会有友情提示,加上f参数就没有友情提示了-f 强制删除文件或目录(force),没有友情提醒rm -rf 文件名: 强制删除当前目录下指定文件,且没有友情提示rm -rf 目录名 : 强制删除当前目录下指定目录,且没有友情提示rm还支持通配删除rm -rf *.txt : * 是通配符,删除当前目录下所有txt文件# 删除空目录rmdir 空目录名: 删除当前目录下的指定空目录这个目录不常用,因为我们一般都是使用 rm -rf 命令进行删除的# 显示文本文件内容cat 文本文件名: 展示当前目录的文本文件名如果文本文件的内容多于一屏,它会快速的展示一下,根本没法看,所以一般cat只是用来展示内容少于一屏的文本文件# 按照百分比或分页展示文件内容more 文件名: 按照百分比展示当前目录指定文件的内容,按 q 键退出不过more的话只能往下翻,不能往上翻,不太方便less 文件名: 分页展示当前目录中的指定文件less可以分页,可以往前可以往后,比more方便一些,也是按 q 键退出# 查看文件开头或结尾的部分默认展示前10行数据head aa.txt: 查看当前目录下aa.txt文件的前10行内容tail aa.txt: 查看当前目录下aa.txt文件的末尾10行内容:查看指定行数head -n 5 aa.txt : 查看当前目录下aa.txt文件的前5行内容tail -n 5 aa.txt : 查看当前目录下aa.txt文件的末尾5行内容# 实时读取文件的内容tail -f aa.log比如说监听日志就可以用这个命令,日志追加在尾部,就可以监听日志尾部的变化# 输出命令echo 内容: 输出一句话到屏幕echo i love youecho "i love you"echo ”i love you” >> aa,txt : 将内容输出(写入)到文本中echo i love you >> aa,txt : 将内容输出(写入)到文本中
7.4 关于网络的相关命令
# 查看本机ip地址ip addraddr是address的缩写,其实addr还可以缩写为a,就可以查看本机ip地址简化:ip -a# 测试网络连通性ping ip地址查看和指定ip地址的主机是否连通ping www.baidu.com
7.5 关于解压缩的相关命令
# 在Linux系统中建立压缩文件或者解压文件tar命令-c 建立一个压缩文件的参数指令(create),以 .tar 结尾,只有-c参数的话只是打包,没有压缩-x 解压缩的参数指令(extract)-z 是否需要用 gzip 压缩, 加上这个参数日后文件名以 .tar.gz 结尾 加上-z的话代表压缩-v 压缩的过程中显示文件(verbose),相当于进度条,压缩到哪个文件了-f 使用档名,在 f 之后要立即接档名(file),即指定打包之后的名字,所以f在参数中一定要在最后tar -cf Linux.tar aa.txt bb.txt cc.txt 打包的名字为Linux.tar 将 aa.txt bb.txt cc.txt 进行打包-cf 参数表示只是打包,并指定打包文件的名字,不使用gzip压缩,也不显示压缩过程中的进度tar -xf Linux.tar解压Linux.tartar -cvf Linux.tar aa.txt bb.txt cc.txt 打包时显示日志内容,即将哪些文件打包了tar -xvf Linux.tar 解压包时显示压缩包中的文件内容(即解压出了哪些文件)`通常组合使用:`tar -zcvf aaa.tar.gz file1.txt file2.txt 将file1和2打包成aaa.tar并压缩,最后文件名为aaa.tar.gztar -zxvf aaa.tar.gz file1.txt file2.txt 将aaa.tar.gz解压
7.6 系统控制命令
# systemctl (centos独有的)system control 系统控制命令,主要用来控制系统服务的重启、关闭、停止、查看服务的运行状态(类似于windows中开启、关闭mysql服务的作用)systemctl status 服务名 说明:查看某个服务的运行状态systemctl start 服务名 说明:启动某个服务systemctl restart 服务名 说明:重启某个服务systemctl stop 服务名 说明:停止某个服务systemctl status|start|stop|restart 服务名 mysqld firewalld(防火墙) network(网络)systemctl start mysqld :启动mysqlsystemctl start firewalld : 启动防火墙systemctl start netword : 启动网络服务
7.7 进程相关命令
# 静态显示运行的进程有哪些ps 询问在当前控制台(桌面)上运行的进程ps -aux 说明:查询系统中所有运行的进程,包括后台进程,其中参数a是所有进程,参数x表示不显示占用控制台的进程,参数u显示用户。用户 进程id(pid) 进程名root 600 0.0 0.0 0 0 ? S< 08:15 0:00 [xfs-log/sda1] ps -ef 说明:查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号。用户 进程id 父进程idroot2082 2 0 12:03 ? 00:00:00 [kworker/0:1]搜索进程 [用的比较多] ps -aux|grep 进程名(或者是服务名或者是关键字,比如tomcat) 例如: ps -aux|grep redis# 动态显示系统进程直接输入 top 就可以动态的显示进程信息top# 杀死进程kill 进程idkill 3029 说明: 上述命令中3029是进程号;一般在执行kill命令之前,先用ps或pstree来查询 一下将要被杀掉的进程的进程号。 kill -9 3029 说明: 有些系统进程使用 kill 杀不死的时候,加上 -9 参数强制杀死。强制终止3029号进程的运行,其中参数-9代表强制的意思,实际上kill命令是向该进程发送信号,该进程接到信号后决定是否停止运行,有些守护进程必须要收到参数9才终止运行。
7.8 文本编辑指令
vi/vim 是Linux系统最常用的文本编辑器而且功能非常强大。vim是vi的增强版,支持高亮,两者语法是一样的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HsEF79WP-1650544286814)(image-20220421132211736.png)]
# 常用命令:i在光标前插入 I在光标当前行开始插入 a在光标后插入 A在光标当前行末尾插入 o在光标当前行的下一行插入新行 O在光标当前行的上一行插入新行 上面的这些字母在命令模式下按都可以进入编辑模式 ----------------重点--------------------------- :set nu显示行号 :set nonu取消行号 gg到文本的第一行 G到文本的最后一行 :n快速定位到文本的第n行 ------------------重点------------------------- u撤销,undo,取消上一步操作 Ctrl + r把撤销的内容恢复回来,redo,返回到undo之前 -------------------重点------------------------ Shift+ zz保存退出,与“:wq”作用相同:q退出不保存:q!强制退出不保存:wq保存退出:wq!强制保存退出
7.9 软件相关命令
RPM命令
(所有Linux版本都支持)
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便,
# rpm 命令(在没网的情况下也可以操作)常用参数: i:安装应用程序(install) e:卸载应用程序(erase) vh:显示进度;(verbose hash)U:升级软件包;(update)qa: 显示所有已安装的软件(query all)用来操作以 .rpm 结尾的安装包安装并显示进度rpm -ivh xxxx.rpm卸载并显示进度 rpm -evh xxxx.rpm更新安装包 rpm -Uvh xxx.rpm显示所有已安装的软件 rpm -qa
YUM命令
(centos独有的)
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
# yum命令(要求必须联网) 例子:安装 yum install gcc-c++卸载 yum remove gcc-c++更新 yum update gcc-c++ yum install|remove|update 依赖名称
使用YUM命令必须连接外部网络
7.10 用户和组相关命令
# 查看当前用户whoami# 查看登录用户who 查看登录的用户、登录时间等-m或am I只显示运行who命令的用户名、登录终端和登录时间-q或--count只显示用户的登录账号和登录用户的数量# 退出用户exit# 添加、删除组账号groupadd user添加一个user组groupdel user删除user组一个组中有着不同的用户# 添加用户账号创建一个用户,并指定这个用户属于哪个组useradd xiaochen -g 指定的组名称 说明:如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。 # 设置用户密码设置指定用户的密码passwd 用户名# 切换用户su 用户名
7.11 权限相关命令
Linux文件有
三种
典型的权限,即r读权限、w写权限和x执行权限
。在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的。r=4,w=2,x=1
# 修改文件的权限chmod 创建者: u 同组用户: g 其他组用户: o a = user + group + other (a是all的缩写) 对于指定文件给创建用户加上执行权限 chmod u+x aa.txt 对于指定文件给创建用户加上读,写,执行权限,给同组用户加上读,写,执行权限,给其他组用户加上读,写,执行权限 chmod u+rwx,g+rwx,o+rwx 文件名 和 chmod a+rwx 文件名 是等价的,都可以执行,效果是一样的 对于指定文件撤销所有用户对这个指定文件的所有权限chmod a-rwx 文件名字母法:chmod u/g/o/a +/-/= rwx 文件 [ u/g/o/a ]含义 uuser 表示该文件的所有者 ggroup 表示与该文件的所有者属于同一组( group )者,即用户组 oother 表示其他以外的人 aall 表示这三者皆是 [ +-= ]含义 +增加权限 -撤销权限 =设定权限 rwx含义 rread 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。 wwrite 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。 xexcute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。 设置权限 数字法: 4读 2写 1执行 1位数字代表三位权限,看总和,总和是7,代表读、写、执行权限都有 第1位数字代表创建该文件的用户对该文件的权限 第2位数字代表同组用户对该文件的权限 第3位数字代表其他组用户对于改文件的权限 如果文件是6,但是chmod是6,则文件权限是6(相当于数字也可以用来修改、撤销权限) chmod 777 文件名