linux常用命令

导读:本篇文章讲解 linux常用命令,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

虚拟机

鼠标的切入和切出:
	切入:直接点进虚拟机
	切出:快捷键--ctrl+alt

Linux基础

命令提示符

在这里插入图片描述

# 查看当前登陆用户
[root@node00 ~]# whoami
root
# 查看主机名
[root@node00 ~]# hostname
node00

命令提示符由PS1环境变量控制

# 默认的PS1设置
echo $PS1		# 结果为:[\u@\h \W]\$

# 可以通过修改/etc/bashrc文件的内容来设置提示信息,支持的配置如下:
	PS1变量	含义
	\d		  # 代表日期,格式为weekday month day,例如"Mon Aug 1"
	\H		  # 完整的主机名
	\h		  # 仅取主机的第一个名字
	\t		  # 显示24小时制的时间,格式为HH:mm:ss
	\T		  # 显示12小时制的时间,格式为hh:mm:ss
	\A		  # 显示24小时制的时间,格式为HH:mm
	\u		  # 当前用户的名称
	\v		  # BASH版本信息
	\w		  # 显示完整的路径,家目录用"~"代替
	\W		  # 利用basename获取工作目录名称,只会列出最后一个目录
	\#		  # 执行的第几个命令
	\$		  # 提示字符,如果是root,则提示符为#,普通用户为$

# 临时设置PS1变量
PS1='[\u@\h \w]\$ '
cd /etc/sysconfig/network-scripts/
# \w控制的显示全部路径已经生效了:[root@node00 /etc/sysconfig/network-scripts]#

# 永久设置PS1变量 
vi /etc/bashrc
# 这是文件中默认的内容
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
# 修改为你自己喜欢的格式,一个美观的PS1变量的格式如下
PS1="[\[\[\e[34;1m\]\t \[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\h\[\e[0m\]\[\e[31;1m\] \W\[\e[0m\]]\\$ "
# 保存退出之后
source /etc/bashrc

命令格式

# command [arg] [path]
# 命令 可选的参数选项(可选) 文件或目录(可选)
# 示例:
rm -rf /tmp/test.txt
# 命令和参数、参数和要操作的文件或目录之间必须有至少一个空格

linux的目录结构

pwd		# 显示当前用户所在的位置,即当前目录的全路径

	/		# 根目录(只有一个根盘符--类似就是一个C盘符)
	/root		# 超级管理员(root)的家,只要是root用户登录进来的,自动在root目录下   
	/home		# 其他用户的家,只要是其他用户登录进来,自动在home目录下。
				# 存放用户的个人数据。具体每个用户的设置文件,用户的桌面文件夹,用户的数据
	/bin		# 放了标准的linux的工具。这个目录已经包含在“path”系统变量里面
	/etc		# 配置文件,存放所有linux配置文件的地方
	/usr		# 放在/bin或/etc目录下的额外的工具
	/usr/local		# 存放用户手动安装的软件
	/usr/bin		# 目录用于存放程序
	/usr/share		# 用于存放一些共享的数据,比如音乐文件或者图标等等
	/usr/share/fonts 	# 是字体目录
	/usr/lib		# 目录用于存放那些不能直接 运行的,但却是许多程序运行所必需的一些函数库文件
	/opt		# 存放那些可选的程序。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。
	/tmp		# 临时目录。linux系统会定期自动对这个目录进行清理,因此,千万不要把重要的数据放在这里。
	/var 		# 存放经常变动的内容
	/var/log		# 系统日志存放,分析日志要看这个目录的东西

在这里插入图片描述

命令行常用快捷键

链接:https://cloud.tencent.com/developer/article/1379299?from=information.detail.linux%E5%91%BD%E4%BB%A4%E8%A1%8C%E6%B8%85%E9%99%A4%E4%B8%80%E8%A1%8C

# 控制命令
Ctrl + C	:停止当前进程并返回提示符  # 常用
Ctrl + L	:进行清屏操作。等同于命令(clear)
Ctrl + Z	:暂停执行在终端运行任务

# 移动光标
Ctrl + A	:跳到行的开头
Ctrl + E	:跳到行尾  # 常用
Ctrl + B	:往回()移动一个字符(相当于左键)
Ctrl + F	:往后()移动一个字符(相当于右键)
Ctrl + XX	:(两个X)在行的开头和光标之间移动
Alt + B		:往回()移动一个单词
Alt + F		:往后()移动一个单词

# 编辑命令
Ctrl + H 	:删除一个光标左方位置的字符
Ctrl + W	:由光标位置开始,往左删除单词。往行首删  # 常用
Alt + D 	:由光标位置开始,往右删除单词。往行尾删
Ctrl + U	:删除当前光标前面的所有文字(还有剪切功能) # 常用
Ctrl + K	:删除当前光标后面的所有文字(还有剪切功能)
Ctrl + Y	:粘贴Ctrl + U或Ctrl + K剪切的内容到光标后
Ctrl + _ 	:回复之前的状态。撤销操作  # 常用
Ctrl + A + K ,或 Ctrl + E + U 或 Ctrl + K + U 		:组合可删除整行  # 常用
Tab			:自动补全内容  # 常用
Ctrl + r	:搜索执行过的命令
Ctrl + g	:从搜索历史命令的UI中退出
Esc + .		:获取上一条命令使用空格分隔后的最后一部分
Ctrl + l	:清除屏幕内容
!!			:执行上一条命令
!pw			:执行最近以pw开头的命令
!pw:p		:打印最近以pw开头的命令,但不执行Z
!num		:执行历史命令列表中第num条命令

改变目录与资源展示命令

cd:改变目录

cd /		# 进入根目录
cd /etc		# 进入根盘符下的etc目录		# 绝对路径
cd etc		# 进入当前位置下的etc目录		# 相对路径
cd ~		# 回家  (cd   root用户:/root  其他用户:/home)  
cd -		# 后退(退到上一次的操作目录)
cd ..		# 进入上一级目录

ls:展示当前目录下资源

ls		# 展示显示文件的名称
ls -l	# 展示显示文件的详细信息。可以简写为:ll
ls -a	# 展示所有的资源不带详情(含隐藏文件)
ls -la	# 显示所有隐藏的和显示文件的详细信息
# 注:若第一个字符为 - 表示该条信息是 文件,为 d 表示该条信息是 文件夹

du -sh	# 查看当前目录的大小
ls -sh	# 查看当前目录所有文件的大小
ls -sh 文件名	# 查看指定文件的大小

df -h	# 查看磁盘空间占用

系统相关命令

退出登陆状态

  • 命令:exit
  • 命令:logout
  • 快捷键:crtl + d

终端

每次打开一个命令行窗口,都是开启一个新的终端,包括远程连接的窗口,使用 tty 命令来查看当前窗口的终端

# 查看当前窗口的终端的命令
tty			# 输出为:/dev/pts/0

# 终端与终端的通信
/dev/pts/0终端发出通信信息:echo hello > /dev/pts/1
/dev/pts/1终端收到通信信息:hello

# 使用wall命令手动广播消息
wall 'hello everybody'

关机重启命令

  • halt:立即关机

  • poweroff:立即关机

  • reboot:立即重启

  • init

init 0		# 立即关机
init 6		# 立即重启
  • shutdown:可以安全的关闭或者重启系统,并广播关机或者重启的消息给全部的终端
# 默认在一分钟之后关机
shutdown [arg]
# arg参数:
    -r 	# 重启系统
    -h 	# 关闭系统,可以再后面指定时间
    -H 	# 关闭系统,不常用
    -P 	# 关闭系统,不常用
    -c 	# 取消正在执行的shutdown命令
    -k 	# 只发送关机消息给所有终端,但并不会真正关机,极少使用


shutdown -h now			# 立刻关机
shutdown -h 0			# 立刻关机
shutdown -h 5			# 5分钟之后关机,最大支持15min的延迟
shutdown -h 14:00		# 在14:00关机,最大支持15min的延迟

# 重启
shutdown -r now			# 立刻重启
shutdown -r 0
shutdown -r 5			# 5分钟之后重启,最大支持15min的延迟
shutdown -r 14:00

# 取消计划
shutdown -c'
  • CentOS7的关机、重启命令
# shutdown、reboot、poweroff、halt在CentOS7中实际上是systemctl命令的参数,CentOS7还有以下系统关机重启相关的命令:
systemctl reboot			# 重启系统
systemctl halt				# 关闭系统,CPU停止工作
systemctl poweroff			# 关闭系统并切断电源
systemctl suspend			# 暂停系统运行
systemctl hibernate			# 系统休眠
systemctl hybrid-sleep		# 系统进入交互式休眠状态
systemctl rescue			# 启动救援状态

文件相关命令

文件权限命令

用户对文件具有什么操作权限

root管理员

在这里插入图片描述

linux的文件操作权限:

  • 读权限(r):对文件表示可读取此文件中的实际内容,对目录表示读取目录结构列表的权限

  • 写权限(w):对文件表示可以编辑、新增或者修改文件中的内容,对目录表示可以新建,删除,修改,移动子目录和目录中的文件

  • 执行权限(x):对文件表示该文件具有被系统执行的权限。对目录赋予 x 权限,代表用户可以进入目录

在这里插入图片描述

- rw- r-- r--
	# 文件类型	  -:文件	d:文件夹	l:链接文件(快捷方式)	b:可供存储周边设备	c:一次性读取装置
	# 文件所有者(用户root):读权限,写权限(对超级管理员root无效)
	# 文件所属组(用户组root):读权限
	# 其他用户:读权限

chown ==> 修改文件或目录所有者,所有组命令

# chown命令格式
chown [-R] 所有者[:所属组] 文件或目录
# 示例
chown www test1.txt			# 修改test1.txt文件的所有者为www
                            # 结果:-rw-r--r--. 1 www root 0 3月 31 10:47 test1.txt
chown www:www test2.txt		# 修改text2.txt文件的所有者和所有组为www
                            # 结果:-rw-r--r--. 1 www www 0 3月 31 10:47 test2.txt
chown :www test3.txt		# 修改test3.txt文件的所有组为www
							# 结果:-rw-r--r--. 1 root www 0 3月 31 10:47 test3.txt

**chmod ** ==> 修改文件或目录权限命令

# chmod命令格式
chmod [-R] 权限值 文件名					# 使用数字设置权限
chmod [-R] [u,g,o,a][ ,-,=][r,w,x]		# 使用字母设置权限

# 使用数字设置权限:chmod [-R] 权限值 文件名
# 各个权限用数字表示规则:
r --> 4
w --> 2
x --> 1
- --> 0
# 示例:rwxr-xr-x	= 765
	所有者 : rwx = 4 2 1 = 7
	所属组 : rw- = 4 2 0 = 6
	其他人 : r-x = 4 0 1 = 5
# 数字设置权限示例
chmod 当前登录用户权限/组中用户权限/其他用户权限  test1.txt
chmod 777 1.txt			# 结果:-rwxrwxrwx.  test1.txt
chmod 000 1.txt			# 结果:----------.  test1.txt
chmod 536 1.txt			# 结果:-r-x-wxrw-.  test1.txt

# 使用字母设置权限:chmod [-R] [u,g,o,a][ ,-,=][r,w,x]
# 参数
	-R 或 –recursive		# 递归处理,将指令目录下的所有文件及子目录一并处理
	[u,g,o,a]
        u	# 所有者身份
        g	# 所有组身份
        o	# 其他用户身份
        a	# 所有身份
    [+,-,=]
        +	# 加入某个权限
        -	# 减少某个权限
        =	# 设置权限
    [r,w,x]
        r	# 读权限
        w	# 写权限
        x	# 执行权限
# 字母设置权限示例
	# test1.txt=>其他用户减少写(w),执行(x)权限。
	# test2.txt=>所属组设置权限等于rwx。
	# test3.txt=>所属者添加执行(x)权限。

在这里插入图片描述

文件操作命令

find:查找文件的位置

# find:查找(查找文件的位置)
find / -name '文件名*'

路径

/路径		# 绝对路径
路径		# 相对路径
.		 # 当前目录
..		 # 表示上一级目录,即父目录

cp:拷贝

cp 文件名 指定目录名			# 复制一份到指定目录里		
cp 文件名 指定目录名/文件名	  # 复制一份到指定目录里并且重命名

cp 文件名 ../			# 复制一份到上一层目录
cp 文件名 ../文件名	  # 复制一份到上一层目录并且重命名	

cp 文件名 新的文件名 			# 拷贝一份到当前目录 (2个文件)

cp -r 目录名 指定目录名递归	   # 复制整个目录内容到指定目录 (拷贝文件夹是需要递归的) 

mv:剪切

mv 文件名 指定目录				# 移动到指定目录
mv 文件名 指定目录/新文件名	 # 移动到指定目录且重命名
mv 文件名 新文件名				# 重命名 (1个文件)

mv 文件名 ../			  # 移动到上一层目录
mv 文件名 ../文件名		# 移动到上一层目录并且重命名

mv  目录名 指定的目录名		# 移动一个目录到指定的目录下 (剪切文件夹是不需要递归的)

文件/文件夹创建与删除命令

mkdir:创建文件夹

mkdir 目录名
mkdir -p 目录名/子目录/.....

touch:文件创建

touch 文件名

rm:删除 文件/文件夹

rm -rf 目录名/文件
# 参数:
	-r	# 向下递归,不管有多少级目录,一并删除
	-f	# 直接强行删除,不带询问

rm 文件		# 带询问删除  y/n
rm -f 文件	# 不带询问删除  #常用
rm -r 目录名	# 带询问的递归删除    
rm -rf 目录名	# 不带询问的递归删除  #常用

文件内容浏览命令

less 文件名	# 分页查看所有内容  # 常用
	# 箭头上: 上一行
	# 箭头下: 下一行
	# 空格:下一页
	# b:上一页
	# q:退出查看			 
# 参数:
	-m	# 显示百分比
	-N	# 显示行号		


cat 文件名		# 查看文件局部内容(查看的只是文件最后一部分的内容)		

more 文件名	# 百分比分页查看所有内容
	# 回车:下一行
	# 空格:下一页
	# q :退出

# 查看文件的头部/末尾指定行树 (默认显示文件的头部/末尾10行内容)
head -n 数字 文件名	# 查看文件头部内容
tail -n 数字 文件名	# 查看文件末尾内容
	# -f 循环读取。常用
	# -q 不显示处理信息
	# -v 显示详细的处理信息
	# -c<数目> 显示的字节数
	# -n<行数> 显示文件的尾部 n 行内容
	# --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
	# -q, --quiet, --silent 从不输出给出文件名的首部
	# -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
tail -f FileName 	# 把 FileName 文件里的最尾部的内容显示在屏幕上,并且不断刷新

文件内容编辑命令

vi 文件名
vim 文件名
	# 编辑模式:对具体的内容进行操作
	# 命令模式:对内容行进行操作 复制整行内容 粘贴整行内容 删除整行内容
	# 底行模式:保存 退出

# 编辑文件操作流程
vi 文件名	# 打开文件
----> 按 i 或 o 进入 编辑模式
----> (编辑内容了)
----> 按 Esc 进入 命令模式(锁定内容,禁止编写,但是可以复制粘贴)
----> shift + : 进入 底行模式(保存 退出)

# 命令模式  常用的快捷键
dd		# 删除当前行
yy		# 复制当前行
p		# 粘贴
					
# 底行模式
:wq		# 保存并退出
:q!		# 强制退出不保存

细节点:编写文件的过程中,如果卡死,下次进来需要将隐藏文件删除 .文件名.swp

压缩解压命令

windows的压缩文件的扩展名: .zip或.rar

linux的压缩文件的扩展名: .tar或.tar.gz

## .tar:打包文件
tar -cvf file.tar file		# .tar打包命令
tar -xvf file.tar			# .tar解包命令(掌握)

## .tar.gz:打包压缩文件
# .tar.gz打包命令
tar -zcvf file.tar.gz file
# .tar.gz解包命令(掌握)
tar -zxvf file.tar.gz					# 解压缩到当前目录下
tar -zxvf file.tar.gz -C /usr/temp/ 	# 解压缩到指定目录下
# 参数解释:
    -z  # -gzip 调用gzip对tar归档文件进一步压缩成tar.gz格式,或者对tar.gz格式完成解压缩
    -x  # -extract 解压缩已归档的指定(或所有)文件
    -c  # -create 创建新的归档文件
    -v  # -verbose 生成详细输出
    -f  # -file 指定归档文件名
    -r  # 向归档文件末尾追加文件
    -C  # 改变目录
## 压缩/解压zip格式
# 压缩当前目录的文件
zip file.zip file
# 压缩指定目录下的所有文件及目录
zip /root/back-up/2018-05-10-ROOR.zip ./directory/* -r    # 压缩之后会以directory为目录递归压缩。
# 解释:zip + 备份目录及备份的文件名称 + 需要备份文件的目录 + -r

# 解压缩到当前目录
unzip file.zip 
# 解压缩到指定目录
unzip file.zip -d ./test 
# 只查看压缩包的内容,并不解压缩
unzip -v file.zip

软件命令

rpm 命令

软件安装命令

作用:相当于软件助手,可以查询已安装的软件、卸载软件和安装软件。

# 安装:
rpm -ivh 软件名
# 示例:rpm -ivh mysql

# 卸载
rpm -e mysql  # 普通删除模式
rpm -e --nodeps 软件名		# 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
# 示例:rpm -e --nodeps mysql

# 查看所有安装的软件
rpm -qa
# 例如查所有的安装软件中是否有tomcat软件
rpm -qa | grep tomcat

yum 命令

基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

语法:

yum [options] [command] [package ...]
  • **options:**可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 “yes”),-q(不显示安装的过程)等等。
  • **command:**要进行的操作。
  • **package:**安装的包名。

常用命令

# 列出所有可更新的软件清单
yum check-update

# 更新所有软件
yum update

# 仅安装指定的软件
yum install <package_name>

# 仅更新指定的软件
yum update <package_name>

# 列出所有已安装的和可安裝的软件包清单
yum list
# 列出以mysql开头的已安装的和可安裝的软件包清单
yum list mysql*

# 删除软件包
yum remove <package_name>

# 查找软件
yum search <keyword>

# 清除缓存
yum clean packages		# 清除缓存目录下的软件包
yum clean headers		# 清除缓存目录下的 headers
yum clean oldheaders	# 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 	# 清除缓存目录下的软件包及旧的 headers

常用安装命令:

# 安装常用工具软件及依赖
yum groupinstall base

服务命令

systemctl status 服务名		# 查看iptables状态

systemctl start 服务名   		# 启动某服务
# 同 service 服务名 start
systemctl stop 服务名			# 停止某服务

systemctl enable 服务名  		# 将某服务设置为开机启动
systemctl disable 服务名		# 禁止某服务开机启动

其它命令

# 查看ip
ip addr		或	ifconfig

# 查看进程命令:ps
ps -ef		# 查看所有进程
#查询指定服务
ps -ef | grep 服务名

# 杀死进程命令:kill 
kill -9 pid(进程号)

# 搜索命令:
grep	# 用于过滤搜索指定内容
# 格式:grep 指定内容  指定文件: 在指定文件中查找带有指定内容的信息 
# 需求:在指定文件中查找错误信息内容
grep -i 指定内容 指定文件名		# 不区分大小写的查找指定内容信息

## | 管道命令  (得和grep一起使用) 
# ps:|,grep经常在一起使用,查所有文件的指定文件,查所有进程的指定进程,查所有软件中的指定软件等等
# 格式: 命令1 | 命令2  把命令1的输出作为命令2的输入
# 需求1:root目录下把所有的文件资源中的1.txt文件资源查找出来
	# 先把root目录下的所有资源查出来 | 在所有资源中搜索1.txt资源
ll | grep 1.txt
# 需求2:在所有进程中查找有没有vim的进程
	# 把所有进程中查找出来 | 在所有进程中搜索vim的进程
ps -ef | grep vim

# 查看防火墙策略、开放的端口
iptables -nL		或	/sbin/iptables -L -n

# 返回上一条命令的执行结果。0:成功;非0:失败
echo $?

# 远程连接linux服务器软件
crt 用户名@ip
ssh 用户名@ip

# 查看指令说明
指令 --help
# 示例:chmod --help

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/112054.html

(0)
Java光头强的头像Java光头强

相关推荐

发表回复

登录后才能评论
半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!