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
查看目录各个字段含义vim
第一字段:首字母表明的是文件类型 ,其中"-"为普通文件、"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命令:创建目录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指定操做类型为文件
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命令的三种模式
命令模式:命令模式是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文件
/etc/shadow
一、帐户名称
二、加密后的密码,若是这一栏的第一个字符为!或者*的话,说明这是一个不能登陆的帐户,从上面能够看出,ubuntu默认的就不启用root帐户。
/etc/group
文件类型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软件包格式:
-q 查询软件包rpm -q 安装包名称(不须要全名称)
#查询单个软件包rpm -qa
#查询全部安装包
-i 安装软件包rpm -i 软件包的全名称
-e 卸载软件包rpm -e 安装包名称
(不须要全名称)
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命令
查看内存剩余的时候要看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文件