平常工做必备之linux经常使用命令分类概括

前言

Linux基础命令整理,这里不包含shell部分知识shell

基础命令

shell(命令解释器)自带的命令称为内部命令,其它的是外部命令
内部命令使用help帮助:help cd
外部命令使用help帮助:ls --help
type命令:用于区分是内部命令仍是外部命令:ubuntu

#type ls
ls is aliased to `ls --color=auto' #外部命令
#type cd
cd is a shell builtin #内部命令复制代码

pwd命令:显示当前目录
ls命令:查看目录和文件名称
ls -l 查看目录各个字段含义
企业微信截图_20200502163153.pngvim

第一字段:首字母表明的是文件类型 ,其中"-"为普通文件、"d"为目录文件、"c"为字符设备文件、"b"为块设备文件、"p"为管道文件、"l"为连接文件、"s"为socket文件。“rwx”分别表明拥有读、写和执行权限,"-表明无对应权限。三个"rwx"依次表明文件全部者、文件全部者所在用户组、其它用户对文件拥有的权限。
第二字段:文件硬链接数量
第三字段:文件拥有者
第四字段:文件拥有者所在组
第五字段:文件大小(以字节为单位)
第六字段:文件最后更改时间
第七字段:文件名(若为连接文件则追加显示其连接的原文件的路径)centos

ls命令其它参数含义:
-a显示隐藏文件(.开头的文件)
-r逆序排序
-t按照时间顺序显示
-R递归显示
ls -lartR : 按照时间顺序倒序显示全部文件及其文件夹的文件缓存

cd命令:更改当前的工做目录
cd /path/... 绝对路径
cd ./path/... 相对路径(./能够省略)
cd ../path/... 相对路径bash

mkdir命令:创建目录
企业微信截图_20200502165701.png
mkdir -p 递归目录:递归建立目录微信

rmdir命令:删除目录
rmdir a/b/c/d/e/ #删除空目录
rm -r a/b/c/d/ #递归删除目录,可是系统会作屡次询问
rm -rf a/b/c/d/ #删除目录,不作任何询问网络

cp命令:复制文件和目录
-r 复制目录
-p 保留用户、权限、时间等文件属性socket

mv命令:移动文件和重命名
mv *.log 目标目录tcp

通配符:
*匹配任何字符串
?匹配一个字符串
[xyz]任何一个字符串
[a-z]匹配一个范围

cat命令:文本内容显示到终端

head命令:查看文件开头
head -3 文件名称 #显示文件开头3行

tail命令:查看文件末尾
tail -3 文件名称 #显示文件末尾3行
tail经常使用参数-f,文件内容更新后,同步显示更新的文件信息
tail -f 文件名称

wc命令:统计文件内容信息
wc 文件名称

压缩和解压缩

tar打包命令(只有打包功能,并不具有压缩功能)
压缩命令是gzip和bzip2,bzip2压缩的文件更小,可是速度比较慢
-c 打包
-x解包
-f指定操做类型为文件
企业微信截图_20200502183326.png

tar cf ./etc-backup.tar /etc 
tar czf ./etc-backup.tar.gz /etc
tar cjf ./etc-backup.tar.bz2 /etc

tar xf ./etc-backup.tar
tar xzf ./etc-backup.tar.gz 
tar xjf ./etc-backup.tar.bz2 复制代码

vi命令

vi命令的三种模式
命令模式:命令模式是vim打开文件后默认进入的模式,能够进行文件的快速定位,文件的处理操做
插入模式:编辑文件
行模式:文件的保存退出

命令模式操做
输入i键:光标当前位置输入
输入I键:光标当前行开头位置输入
输入a键:光标当前下个字符位置输入
输入A键:光标当前行末尾位置输入
输入o键:光标当前行下一行新建空行位置输入
输入O键:光标当前行上一行新建空行位置输入
hjkl:方向键盘,上右下左移动光标,注意终端的上下左右键有可能会乱码
yy:复制当前行
p:粘贴复制的内容
3yy:复制当前行开头的连续3行
y光标当前位置复制到光标当前行末尾:剪切当前行:剪切光标当前位置至本行末尾
u:撤销键
ctrl+r:重作键盘
G:光标快速切换到哪一行。例如 :11G 光标会切换到11行
^:光标快速切换到当前行行首
$:光标快速切换到当前行末尾

末行模式操做:
:w 保存
:q 退出编辑
:wq 保存而且退出编辑
:q! 不保存退出
/要查找的内容:全局查找内容,n查找的内容下一次位置,N查找的内容上一次位置
:s/原来的内容/要替换的内容:只在当前行内容替换生效
:%s/原来的内容/要替换的内容/g:全部内容都替换生效
:11,15s/原来的内容/要替换的内容:11,15行内容替换生效
:set nu 设置显示行号
:set nonu 设置不显示行号

配置/etc/virc
设置默认使用vi命令就显示行号的办法:
一、vi /etc/virc
二、在文件最后一行添加:set nu 而且保存退出

用户管理和组管理

useradd命令:新建用户
useradd 用户名

userdel命令:删除用户
userdel 用户名 用户所在的家目录不会被删除
userdel -r 用户名 用户相关的全部配置都会被删除

passwd命令:修改用户密码
passwd 用户名

usermod命令:修改用户属性

/etc/passwd文件:查看用户文件
tail /etc/passwd

/etc/shadow文件:查看用户密码
tail /etc/shadow

groupadd命令:添加用户组
groupadd 用户组

groupdel命令:删除用户组
groupdel 用户组

用户切换
su 用户名 切换用户,可是用户所在环境不变,即pwd路径不会变化
su - 用户名 切换用户,同时会切换到用户家目录,即/home/用户名

sudo命令:普通用户须要执行root用户权限的解决方案

用户和用户组配置文件介绍
/etc/passwd文件
企业微信截图_20200503090734.png

/etc/shadow
一、帐户名称
二、加密后的密码,若是这一栏的第一个字符为!或者*的话,说明这是一个不能登陆的帐户,从上面能够看出,ubuntu默认的就不启用root帐户。

/etc/group
企业微信截图_20200503091650.png

文件类型
ls -l查看文件类型
-普通字符
d目录文件
b块特殊文件
c字符特殊文件
l符号连接
f命名管道
s套接字文件

文件权限表示法
r读(数字4)、w写(数字2)、x执行(数字1)

目录权限表示法
x进入目录
rx显示目录内的文件名
wx修改目录内的文件名

chmod命令:修改文件权限
用字符的方式添加和修改权限
u:修改用户权限
g:修改用户组权限
o:修改其它用户权限
+:添加权限
-:减小权限
=:设置权限
chmod u+r aaa.log #给aaa.log文件的所属用户添加读的权限

用数字的方式添加权限
chmod 666 aaa.log #给aaa.log文件设置读写权限
须要注意的是不过root用户的权限是什么都不会受到影响

chown命令:更改属主,属组
chown 用户名 文件名
chown 用户名:组名 文件名

网络配置命令

配置ip地址
eth0表示第一块网卡,网卡的名称还多是eno1(板载网卡)、ens33(PEC-E网卡)、enp0s3(无线PEC-E网卡)
ifconfig 接口 ip地址 [netmask 子网掩码] #配置IP地址
ifup 接口 #开启网卡
ifdown 接口 #关闭网卡

添加网关
route add default gw 网关ip
route add -host 指定ip gw 网关ip
route add -net 网段 netmask 子网掩码 gw 网关ip 案例:route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.1.1.1

检查网络
ping命令 #查看网络是否通
traceroute命令 #网络很差的时候分析网络哪一个部分出现问题
mt命令r #网络很差的时候分析网络哪一个部分出现问题
nslookup命令 根据域名解析获取ip

网络没问题后分析服务
telnet 域名 端口(端口关闭Connection refused和端口开启Connected to ...)
tcpdump命令 #抓取网卡的传输数据(即抓包的做用)
netstat命令 #查看本地网络服务

hostname命令 #查看和修改主机名称
hostname 新的主机名(注意修改/etc/hosts文件配置127.0.0.1 主机名)

配置网卡信息
网卡文件位置:/etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes 开机自启动配置
BOOTPROTO=dhcp 动态获取ip地址

软件包管理

包管理器是方便软件安装、卸载、解决软件依赖关系的重要工具
centos、Redhat使用yum包管理器,软件安装包格式rpm
debian、ubuntu使用apt包管理器,软件安装包格式为deb

rpm软件包和命令

rpm软件包格式:
企业微信截图_20200503184650.png

-q 查询软件包
rpm -q 安装包名称(不须要全名称) #查询单个软件包
rpm -qa #查询全部安装包

-i 安装软件包
rpm -i 软件包的全名称

-e 卸载软件包
rpm -e 安装包名称(不须要全名称)

yum安装软件包

rpm安装软件包的时候常常会出现依赖包找不到的状况,须要手动解决依赖的安装包,比较麻烦,这个时候使用yum安装更加合适,它能自动解决依赖的软件包
阿里云rpm镜像网址和使用
yum经常使用参数
yum install 软件包名称
yum remove 软件包名称
yum list 查看安装的软件包
yum update 软件包名称

源代码安装软件

有的时候咱们须要安装软件的最新版本,这个时候yum库可能没有最新的,就须要手动编译软件源代码安装软件,而且须要本身去解决编译源码时各类各样的依赖
第一步: ./configure --prefix = /usr/local/软件名称
第二步:make (有的时候看到gmake -j2,gmake指的是跨平台的方式安装,-j2指的是用连个cpu来进行编译,加快编译速度)
第三步:make install (安装软件到--prefix指定目录,好处是删除软件的时候删除整个包就能够,不然还须要到/usr/bin等各个目录下删除一堆文件)

进程管理

查看命令
ps -ef #查看进程
pstree #查看进程树
top命令
top下按1能够查看各块cpu(多核状况)的资源使用状况;
top -p 进程id #单独查看进程的资源使用状况

调整进程优先级
nice范围从-20到19,值越小优先级越高,抢占资源就越多
nice -n 10 脚本名称
renice从新设置已经运行的程序优先级
renice -n 15 进程id

进程做业控制
&符号,让进程在后台运行
jobs 查看后台运行的进程
根据jobs第一列的结果fg [序号],可以将后台进程移到前台

kill命令
kill -l #列出进程相关的全部信号类型
ctrl + c #通知前台进程终止进程
kill -9 进程id #当即结束进程

nohup与&符号配合使进程在退出终端后可以继续运行
守护进程指的是系统开机自启动的相关进程,能够经过/proc/进程id/目录查看进程运行详细信息,经过/var/log目录下的日志文件查看更多的进程运行信息,messages系统日志信息,secure日志信息,cron定时任务信息
screen可使进程在断开网络的状况下,恢复后依然可以继续执行
进程管理工具service(配置文件路径/etc/init.d)和systemctl(service的进化版)

内存和磁盘管理

top命令
企业微信截图_20200504135155.png
查看内存剩余的时候要看free内存,不能看buffers,由于有些程序好比jar程序会占用很大内存做为缓存,能够经过命令释放掉这部分缓存;当程序开始使用Swap的时候就得考虑内存是否足够的问题,当内存不足的时候系统会随机杀掉占用内存大的进程,致使不可控;

free命令
free -m #使用M做为单位查看内存,注意若是使用free -g查看内存会偏小,系统会把不足的g内存显示的时候删除掉

查看磁盘
查询系统总体磁盘使用状况
df -h
查询指定目录的磁盘占用状况
du -h /目录 #默认为当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
--max-depth=1 子目录深度
-c 列出明细的同时,增长汇总值

增长一块硬盘步骤:
一、添加硬盘
二、分区fdisk:fdisk /dev/sdb (假设新增的磁盘名称为sdb)
三、格式化mkfs:mkfs -t ext4 /dev/sdb1
四、挂载目录:先建立一个/newdisk挂在目录 , 挂载mount /dev/sdb1 /newdisk五、设置能够永久挂载: 修改/etc/fstab文件

相关文章
相关标签/搜索