Linux常用命令

Linux

vi和vim

正常模式:

# 拷贝当前行 	
yy+p
# 拷贝多行	
n+yy+p
# 删除当前行   
dd
# 删除多行   	
n+dd
# 跳转到文件的最后一行(在一般模式下) 输入	G
# 跳转到文件的第一行(在一般模式下) 输入  gg
# 撤销动作 
esc+u
# 编辑文件,在一般模式下将光标移动到第20行,可以输入20+shift+g

插入模式:按下i,I,a,A,r,R可以进入插入模式

命令行模式:

  • 按下Esc再按 :或者 / 可以进入命令行模式
  • 查找关键词输入 /+关键字,再输入n就是查找下一个
 # 设置文件的行号 
 :set nu
 # 取消 设置文件的行号 
 :set nonu

用户管理

su - 用户名    # 切换用户账户
logout或者exit # 退出当前用户 
usreadd 用户名					# 添加用户,该用户的默认目录在/home/	         
useradd -d  用户名				# 添加用户并指定用户目录的位置
passwd 用户名					   # 设置密码                 
pwd							  	  # 显示当前用户所在的目录         
userdel  用户名					# 删除用户(保留家目录) 	   
userdel -r 用户名					# 删除用户(不保留家目录) 	  
id 用户名							# 查询用户信息               
who am i	 # 切换到指定用户下,然后输入,查询何时登录到系统 
# 查看服务器信息
uname -a 
lsb_release -a

用户组

groupadd 组名					 # 新增组		        
groupdel 组名                   # 删除组     			
useradd -g 组名 用户名     		# 增加用户时直接加上组
usermod	 -g  用户组  用户名      # 修改用户组

用户和组相关的文件

/etc/passwd	文件 # 用户的配置文件
/etc/shadow	文件 # 口令的配置文件
/etc/group	文件  # 组的配置文件

基本指令

关机重启

shutdown -h now  		# 立刻进行关机
shutdown -h 1 			# 1分钟后关机
shutdown -r now			# 现在重新启动计算机
halt 					# 关机
rebot 					# 重启
sync 					# 把内存数据同步到磁盘
systemctl get-default # 显示当前运行级别

帮助指令

man 获取帮助信息

# 基本语法	
man ls

在Linux下,隐藏文件以 .开头

help指令-获得shell内置命令的帮助信息

文件目录类指令

cd ~						  # 回到自己的家目录
mkidr   -p /路径/路径	 	    # 创建多级目录
rmdir    					  # 删除目录
rm   -rf  /路径           	 # 不管目录是否为空都会删除
touch   文件名称       		   # 创建空文件
cp  [选项]  source dest 		# 拷贝文件
cp -r    [选项]  source dest  # 递归复制文件到另一个文件夹下
rm -r    [选项]				# 递归删除整个文件夹
rm -rf    [选项]				# 强制删除不提示
mv   oldName File    newNameFile       # (如果两个文件在一个目录下,这是重命名操作)
mv   /temp/movefile    /targetFolder   # (如果两个文件不在一个目录下,这是移动文件操作)
#查看文件内容
cat	[选项]	要查看的文件
cat -n  [选项]	要查看的文件
# cat 只能查看文件。不能修改
cat 	-n  /etc/profile | more
more 要查看的文件

less 分屏查看文件内容,less指令在显示文件内容时,并不是一次将整个文件加载后才显示,而是根据需要加载的内容 显示,对于显示大型文件具有很高的效率。

less	#要查看的文件
echo 	#输出内容到控制台
echo	[选项]	[输出内容]  
head 		#显示文件的开头部分
head  文件	#输出文件前10行
head 	 -n 	文件	#输出文件前n行
tail	文件	#输出文件后10行
tail	 -n 	文件	#输出文件后n行
tail -f  文件 	#实时追踪该文档的所有更新
>  重定向
>> 追加
# 基本语法
ls -l >文件 			 #将列表的内容写入a.txt中
ls -al >> 文件  		 #将列表的内容追加到aa。txt的末尾
cat 文件1> 文件2 		#将文件1的内容覆盖到文件2中
echo "内容" >> 文件 #追加
rm 	/home/myroot 	#删除home下的软连接名myroot
ln 					#软连接也称符号连接
ln -s  [源文件或目录]  [软连接名]	#给原文件创建一个软链接

日期指令

history  #查看使用过的历史命令
history  10	#查看使用过的10条历史命令
!5 	#执行历史编号为5的命令
date		#显示当前时间
date  +%Y	#显示当前年份,加号不能少
date  +%m	#显示当前月份,加号不能少
date  +%d	 #显示当前日份,加号不能少
date   ”+%Y-%m-%d  %H:%M:%S    #显示年月时分秒,加号不能少
date -s 字符串时间	#设置时期
cal 	[选项]      #显示当年日历
cal    年份         #显示指定年份日历

查找指令

name    #按名查找
find   /home  -name  hello.txt
-user     #查找属于指定用户名的文件
find  / -user root
-size      #按照指定的文件大小查找(+n  代表大于,-n    代表小于 ,n代表等于)

find / -size +200M

# locate指令,可以快速定位文件路径
updatedb
locate [路径]   #使用之前必须先使用 updatedb指令
# grep指令,过滤查找,管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
grep  [选项]   查找内容  源文件
# 选项说明:
# 	- -n  显示匹配行及行号
# 	- -i   忽略字母大小写
cat   /home/hello.txt |grep "yes"    #在hello.txt文件中查找yes所在的行,并显示行号
grep  - n  "yes"  /home/hello.txt	#写法2

压缩和解压类

# gzip 压缩文件
gzip 文件  #压缩文件,只能将文件压缩为.gz文件
gzip  /home/hello.txt
# gunzip  解压文件
gunzip  文件.gz   #解压缩文件命令
gunzip /hello/hello.txt.gz 
-r  # 递归压缩,即压缩目录
zip -r myhome.zip /home/     # 将home下面的文件夹压缩成myhome.zip
# 示例
-d<目录> # 指定解压后的文件存放目录
mkdir  /opt/tmp						# 先创建一个目录
unzip -d /opt/tmp /home/myhome.zip   # 将myhome.zip解压到opt/tmp目录下

# tar指令,是打包指令,最后的打包后的文件是.tar.gz
tar [选项]  xxxx.tar.gz  打包的内容		#打包目录,压缩后的文件格式是.tat.gz
tar -zcvf   pc.tar.gz   /home/pig.txt   /home/dog.txt  
# 压缩多个文件,将home下面的pig.txt和dog.txt压缩成pc.tar.gz
tar -zcvf myhome.tar.gz   /home/      #将home的文件夹压缩成myhome.tar.gz
tar -zxvf   pc.tar.gz    # 将pc.tar.gz解压到当前目录
mkdir /opt/tmp2
tar -zxvf /home/myhome.tar.gz  -C /opt/tmp2	#将myhome.tar.gz 解压到/opt/tmp2目录下

选项说明:

  • -c 产生.tar打包文件
  • -v 显示详细信息
  • -f 指定压缩后的文件名
  • -z 打包同时压缩
  • -x 解包.tar文件

网络配置

service network restart  	#重启网络服务
# 设置主机名
hostname		#查看主机名
vim    /etc/hostname    #在这里面修改主机名
# 设置hosts映射
windows 
在 C:.Windows.System32.drivers.etc.hosts 里面设置
# linux
在 /etc/hosts  文件指定

主机名解析过程

浏览器缓存 -> DNS缓存 -> hosts文件 -> 域名服务DNS解析器 查找过程

  • host是用来记录IP和主机名Hostname的映射关系

  • DNS 就是域名系统,是互联网上作为域名和IP地址相互映射的一个分布式数据库

权限

-rw-r–r–. 1 root root 0 9月 2 11:23 1.txt

0-9位说明:

第0位确定文件类型(d - l c b)

​ l 是链接,类似于windows的快捷方式

​ d 是目录

​ c是字符设备,如鼠标,键盘

​ b是块设备,比如硬盘

1~3位确定文件所有者拥有的权限,r w x

​ 作用到目录和文件是不同的

4~6位确定所属组拥有改文件的权限

7~9位确定其他用户拥有该文件的权限

修改权限-chown

第一种方式:+,-,=更改权限

u:所有者 g:所有组 o:其他人 a:所有人

chown newowner 文件/目录  					#改变所有者
chown  newowner : newgroup   文件/目录   	#改变所有者和组
chown kevin /home/abc.txt				   #将/home/abc.txt下面的文件所有者修改成Kevin

-R #如果是目录,则使其下所有的子文件或目录递归生效

chown   -R tom   /home/test		#将/home/test目录下所有的文件和目录所有者都修改成tom
chgrp newgroup  文件/目录		#修改所在组
chgrp shaolin /home/pig.txt    #将 /home/pig.txt的所在组修改成shaolin

rpm

用于互联网下载包的打包工具

rpm -qa|grep xx			   		# 查询已安装的rpm列表, 
rpm -q 软件包名					# 查询软件包是否安装
rpm -qi  软件报名      		 	# 查询软件包信息
rpm -ql  软件报名     			# 查询软件包中的文件
rpm -qf   文件全路径名  	   		# 查询文件所属的软件包
rpm -e 软件包的名称  		   		# 删除软件包
rpm -ivh rpm包的全路径名称    		# 安装rpm包
# yum是一个shell前端软件包管理器。
yum list | grep xx软件列表 	  	# 查询某个软件是否已安装
yun install	xxx  			 	# 安装某个软件包

进程管理

ps用来查看系统中哪些进行正在执行

ps -aux 				# 查看所有进程
ps -aux | grep sshd		# 查看系统有没有ssh进程
ps -ef					# 以全格式显示所有的进程
UID		# 用户id
PID		# 进程id
PPID  	# 父进程id
C:			# cpu用于执行优先级的因子,数值越大,执行优先级越低;
STIME:	# 进程启动时间
TTY:		# 完整的终端名称
TIME		# cpu时间
CMD:		# 启动进程所用的命令和参数
kill 进程名	#杀掉进程
kill all 进程名		#杀死进程
kill all gedit		#杀死多个进程
-9	 # 表示强迫进程立即停止
/bin/systemctl start sshd.service	#重启sshd服务

服务管理

service管理指令

service	服务名(start|stop|reload|status)
setup	#查看所有进程

开机流程

开机 BIOS /boot systemd 进程1 运行级别 运行级别对应的服务

systemctl get-default		#查看系统当前的运行级别
chkconfig 					# 给各个服务设置各自的运行级别
chkconfig --list 	#查看服务
chkconfig --level 3 network off  	#把network在3运行级别关闭
chkconfig --level 3 network on  	#把network在3运行级别打开
chkconfig # 设置完之后需要重新启动
systemctl # 管理指令
systemctl	[start|stop|restart|status]	服务名 	#基本语法
systemctl # 可以设置服务的自启动状态
systemctl  enable 	服务名	#设置服务开机自启动
systemctl  disable	服务名	#关闭服务开机自启动
systemctl is-enabled	服务名	#查询某个服务是否自启动

注意要让服务自启动永久生效要使用disabled 和enabled命令,start和stop只能让服务临时生效

firewall指令

真正的生产环境防火墙是需要打开的

firewall-cmd --permanent --add-port=端口号/协议		  #打开端口
firewall-cmd --permanent --add-port=111/tcp
firewall-cmd --permanent --remove-port=端口号/协议	   #关闭端口
firewall-cmd --reload								  #重新载入,才能生效
firewall-cmd --query-port=端口/协议 				   #查询端口是否开放

top动态监控进程

top [选项]
-d 秒数		#指定top命令每隔几秒跟新,默认是3秒
-i			#使top不显示任何闲置或者僵死进程
-p			#通过指定监控进程ID来仅仅监控某个进程的状态
p				#以cpu使用率排序
m				#以内存排序
n				#以pid排序
q				#退出top
输入k				#输入进程号杀死进程
输入u				#输入用户名查看哪个用户在使用

netstat 查看网络情况

netstat	[选项]
-an		#按一定的排列顺序输出
-p		#显示哪个进程在调用
netstat -anp | grep sshd	#查看ssh服务的网络情况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值