1、查看Linux虚拟机内核版本信息:
cat /etc/redhat-release
2、查看Linux虚拟机当前版本:
uname -a
3、查看本地主机所有网卡(接口)信息:
ip addr
4、设置服务器访问的DNS:
vi或者vim /etc/resolv.conf #一般情况下是设置nameserver 114.114.114.114
5、当使用ping + ip地址或者域名地址,使用ctrl+c停止ping
6、使用sudo docker attach + 容器ID进入到该容器内,在使用ctrl+p+d可以退出容器
7、查看Linux内核版本信息
cat /proc/version
8、sudo(Superuser do):意思是Linux的系统管理指令是系统管理员让普通用户执行一些或者全部的root命令的一个工具
9、创建一个容器,让其中运行bash应用
sudo docker run -i -t ubuntu:12.04 /bin/bash
10、内核是操作系统最基本的部分,它是为应用程序访问计算机硬件的软件,并且是有限的访问
11、查看当前Linux系统的目录结构:ls
12、删除目录下的文件夹命令:rm /root/包名
13、进入容器后,可以用ps或者top来查看进程信息
14、设置脚本文件内容只读,不能修改的命令
chattr +i /etc/resolv.conf 只读
chattr -i /etc/resolv.conf 可读可写
15、让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件
chattr +a /var/log/messages
16、cksum命令,用于检查文件的CRC是否正确,确保文件从一个系统传输到另外一个系统的过程中不被损坏,CRC是一种排错检查方式
cksum filename(文件名) 输出的信息10位数字代表校验码 两位数字代表字节数
17、查看文件中的内容命令
cat + 文件名
18、查看文件类型命令:file + 文件名 #显示文件名称
file -b + 文件名 #不显示文件名
注释:MIME是多用途互联网邮件扩展类型,多用于指定一些客户端自定义的文件名,以及一些媒体文件的打开方式
命令:file -i +文件名 #显示MIME类别
命令:ls -l /var/mail或者file /var/mail #显示符号链接的文件类型
19、find命令是用来指定目录下查找文件
find . -name "*.c" #将当前目录下及其子目录下所有延伸文档名是c的文件列出来
find . -type f:将当前目录及其子目录的所有一般文件列出
find . -ctime -20:将20天内更新过的文件列出
find /var/log -type f -mtime +7 -ok rm {} \;查找/var/log目录中更改时间在7日以前的普通文件,并在删除它们之前询问
20、ln命令是非常重要的,它的功能是为某一个文件在另一个位置建立一个同步的链接,示例:ln -s 文件名 link2013,给“文件名”创建软链接2013,如果“文件名”丢失,link2013失效
21、查看文件命令:less + 文件名
;
ps查看进程信息并通过less分页显示:ps -ef | less
查看命令的历史记录并通过less分页显示:history | less
浏览多个文件:less 文件名 . 文件名
22、用来显示文件属性命令:例如lsattr /etc/resolv.conf在这里插入代码片
显示文档内容:more -s + 文件名,例如:more -3 + 文件名 参数意思是从第三行开始显示文件内容
23、文件名修改命令:mv + 原文件名 + 新文件名
将一个文件放入另一个文件夹中:mv 文件/文件夹
删除文件夹命令:rm -rf + 文件夹名
24、创建文件tmp命令:echo abcd>tmp #abcd是内容,tmp是文件名
#cat tmp输出的结果:abcd (输出的tmp文件内的内容)
od -b tmp命令输出会把tmp文件内容以八进制的格式输出
od -c tmp命令使用单字节八进制输出
od -t d1 tmp 使用ASCII码进行输出,包括转义字符
od -A d -c tmp以单字节十进制进行解析
25、paste 文件1 文件2 .........合并指定文件内容在一起显示
26、rcp复制远程主机上的资源(文件等)到本机(本地)
27、tee file1 file2 在两个文件中复制内容,命令执行后,提示要输入的内容,回车执行完毕,再ctrl+c退出,然后cat file1 或者cat file2查看其文件内容,来验证tee命令是否执行成功
28、获取当前权限掩码:$umask
显示目录(文件)的详细信息:$ls -d -1 文件名/
查找指令:which bash 查找bash应用的绝对路径
awk命令文本输出工具,示例$awk '{print $1,$4}' filename,意思是输出第一行和第四行的filename文件中的信息内容
文档排序:sort 文件名
大小写转换:cat filename | tr a-z A-Z 或者 cat filename | tr [:lower:] [:upper:]
计算this的长度的命令:expr length "this"
计算所有文件的内容信息,包括多少行、单词数、字节数:wc file1 file2........
29、df命令用来显示Linux系统上磁盘使用情况
df -i 输出显示inode信息而非块使用量
df --total 显示所有信息
df -h 显示可读格式df命令输出
30、创建一个名为text.txt的文件:touch text.txt
31、du 命令显示目录或文件所占空间大小磁盘空间的情况
du -h + 文件夹或者+文件或者+目录
32、用来显示当前工作目录:pwd
33、mount命令是用于挂在Linux系统外的文件
示例:mount /dev/hda1 /mnt,意思是将/dev/hda1挂载到 /mnt下
34、rmdir AAA命令将工作目录下,名为AAA的子目录删除
rmdir -p BBB/text 将BBB目录中的text子目录删除,加入参数-p是删除text同时连同父目录BBB一同删除,不加-p参数只删除text子目录,父目录BBB还存在于当前工作目录中
35、stat命令用于显示inode内容,以文字格式来显示,inode是索引节点
36、umount命令用于卸除文件系统
37、ls -1R /bin 命令将/bin目录下所有目录及文件详细资料列出,ls -AF 命令参数如果是目录,后面则加“/”符号,如果是名称可执行文档则加“*”
38、fdisk -l 命令查看系统当前硬盘信息
39、dd命令用于数据读取,转换并输出数据
示例:dd if=filename2 of=filename conv=ucase (lcase转小写),
意思是将filename1中的内容转换成了大写内容,dd conv=ucase输
入该命令后,按回车,输入字符内容再按回车,按组合键ctrl+D退出
40、显示当前用户:who -m -H
精简模式显示:who -q
41、ar命令用于建立或者修改备份文件,或是从备份文件中抽取文件,并且可以集合许多文件,成为单一备份文件,在备份文件中,所有成员文件都保有原来的属性和权限
示例:ar rv one.bak a.c b.c 打包a.c b.c 文件到one.bak中
示例:ar rv two.bak *.c打包以.c结尾的文件
显示打包文件的内容:ar t two.bak
删除打包文件的成员文件:ar d two.bak a.c b.c c.c
42、文件压缩命令
bz2格式的压缩文件命令:bzip2 *.c压缩以.c结尾的文件,
解压缩bunzip2 -v *.c.bz2
bunzip2 -tv *.c.bz2
注:加参数t是把解压缩完成之后的状态提示done换成了ok
tar格式的文件压缩:tar -cvf abcd.tar *.c把所有以.c结
尾的文件压缩成名为abcd.tar的压缩包
43、清除屏幕命令:clear
给命令设置别名:alias lx=ls 给ls设置别名lx
,ls是显示目录信息的命令
改变根目录的命令:chroot
获取当前时间命令:clock
声明一个变量的命令:declare -i ab声明一个整数变量ab,ab=56 改变变量内容, echo $ab 显示变量内容
显示开机的相关信息,保存再/var/log目录下:dmesg | less
显示shell命令(内置):enable
eval连接多个命令同时输出:示例eval enable;ls;docker ps............
列出所有的环境变量值:export -p
用于开启群组的投影密码:grpconv
可以关闭用户投影密码,会把密码从shadow文件内重回存到passwd文件里:pwunconv
管理套件的程序:rpm
显示已载入系统的模块:lsmod
用于设置shell,显示环境变量,可依需进行编辑:set
修改root账户密码:passwd root
显示sg模块的信息:modinfo sg
显示系统资源的设置:ulimit -a
显示单一用户程序上限:ulimit -u
设置当前用户上限为50示例:ulimit -u 50
删除环境变量:unset
显示当前时间:hwclock
删除别名:unalias lx 删除lx这个别名
修改使用者个人资讯信息:chfn
44、添加一般用户:useradd
为添加的用户指定用户组:useradd -g root tt
创建一个系统用户:useradd -r tt
建立用户且指定ID:useradd jd -u 544
45、列出当前登录用户的相关信息:finger
示例:finger -l #多行显示
示例:finger -s 单行显示
46、删除群组:groupdel +群组名
,查看当前所有群组信息:cat /etc/group
添加群组:groupadd Linuxso #添加Linuxso群组
修改群组名称:groupadd -n Linux Linuxso #修改Linuxso群组为Linux群组名
显示群组信息:tail -l /etc/group
显示信号:kill -l
47、last命令用于显示系统开机以来所有登录者的信息
示例:last -n 5 -R 简略显示,并指定显示的个数
示例:last -n 5 -a -i 显示最后一列显示主机IP地址
48、显示登录失败的用户:lastb
显示登录账号的信息:logname
;退出登录:logout
显示进程信息:ps -A
,显示root用户当前进程:ps -u root
显示所有命令,连带命令行:ps -ef
设置进程的优先级顺序:nice
;用于显示实时进程信息:top
top -b #以批处理模式显示子程序信息
top -s #以累积模式显示程序信息
top -n 2 #设置信息更新次数,表示更新两次后终止更新显示
top -d 3 #更新周期为3秒
top -p 139 #显示指定的进程信息
49、以树状模式显示进程信息以及之间的关系:pstree -apnh
,显示用户名称:pstree -u
50、重启Linux系统:reboot
,重启之后docker容器的服务也会停止,再次登录Linux系统利用命令:service docker start
开启docker服务,也就是开启daemon守护进程
远程登录主机:rlogin
rsh
命令用于远程登录登入shell,它提供用户环境,也就是shell,以便指令能够在指定的远端主机上执行
立刻关机,使用权限系统管理者:shutdown -h now
51、sudo命令以系统管理者的身份执行指令,也就是说经由sudo所执行的指令就好像是root亲自执行,各参数含义:sudo -V(大写)#显示版本编号;-h #显示版本编号和指令使用说明;-l #显示出自己(执行sudo使用者)的权限
开启系统监视:swatch
;用于显示系统负载:tload
;用于管理记录文件:logrotate
52、用于显示系统信息:uname
示例: uname -a #显示全部信息
-m #显示计算机类型
-n #显示计算机名
-r #显示操作系统发行编号
-s #显示操作系统名称
-v #显示系统时间
53、锁定虚拟终端,避免他人使用:vlock
显示自身用户名称:whoami
用于登录另一个群组:newgrp
用于显示目前登入系统的用户信息:w
显示当前用户信息:id
;显示群组的id:id -g
显示内存使用情况:free
;以总和的形式查询内存的使用信息:free -t
;每2秒执行一次命令用于周期性查询内存使用情况:free -s 2
用于监听网络上ARP的记录:arpwatch
#ARP(Address Resolution Protocol)用来解析IP与网络装置硬件地址的协议
设置终端机模式,连线速率和管制线路:getty
远程登录其他服务器或者主机:telnet+ip地址
关闭ppp连线,让用户切断ppp的网络连线:ppp
,ppp为点对点协议 ;示例:ppp -off
设置路由:nc
;设置和显示网络设备相关信息:ifconfig
允许其他用户发信息到当前终端,root的终端:mesg y
设置DNS服务器组态:dnsconf
;将讯息传给每一个mesg设定为yes的上线使用者:wall
54、显示网络状态:netstat
示例:netstat -a #显示详细的网络状况
-nu #显示当前用户的UDP连接状况
-apu #显示UDP端口号的使用情况
-i #显示网卡列表
-g #显示多重广播功能群组组员名单
-s #显示网络统计信息
-l #显示监听的套接口
UDP:User Datagram Protocol,是用户数据报协议在网络中它与
TCP协议一样用于处理数据包,是一种无连接的协议
55、ping命令用于检测主机、服务器、外网地址IP是否为连通状态
示例:ping www.baidu.com #显示外网地址百度是否连通,会自动一直ping下去,ctrl+c停止ping
ping -c 2 www.baidu.com #指定接收包两次后,自动退出
TTL(time to line):是域名解析在DNS服务器中存在的时间
56、显示串口信息:setserial -g /dev/ttyS2
;如果参数换成-a就是显示详细信息
traceroute
命令用于显示数据包到主机间的路径,追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置
显示当前终端:tty
;显示串口状态:statserial
;显示TCP包信息:tcpdump
用于连接另一个系统主机:cu
;查看容器端口的映射情况:docker port + 容器id或者容器名称
查看容器内部的标准输出:docker logs -f
查看容器内部运行的进程:docker top
查看容器底层信息,它会以JSON文件格式记录docker容器的配置和状态信息:docker inspect
查询最后一次创建的容器:docker ps -l
删除不用的容器,如果容器正在运行,那么执行删除命令会报错。因此要先停掉正在运行的容器,在执行docker rm +容器ID或者容器名称
进行删除
57、docker run -d -P(大写) training/webapp python app.py
docker run -d -p(大写) training/webapp python app.py
说明:使用-P(大写)参数,docker会随机选择一个端口映射到容器内部开放的网络端口上
使用-p(小写)参数,可以指定要映射的端口,并且在一个指定端口上只可以绑定一个容器
58、获取所有容器ID:docker container ls -a -q
获取所有镜像ID:docker image ls -a -q
用户输入/输出的终端:pts
;切换用户或者指定用户运行命令:su
59、命令visudo用于配置sudo命令时指定的用户和对应的权限(/etc/sudoers)文件,在这个文件里主要有别名(用户别名、主机别名、命令别名)的配置和sudo权限的配置
60、权限的表示方式有两种:数字和字符
r——4 (read) 可读
w——2 (write) 可写
x——1 (execute) 可执行
61、设置ACL(访问的控制列表),如果要设置某个单个用户具有什么权限,就要用到扩展ACL,查看权限:getfacl + 文件名
只针对可执行文件,即二进制文件:suid
62、inode(索引节点):大小为128字节的倍数,最小为128字节,它有默认值大小,它的默认值由/etc/mke2fs.conf
文件中指定,查看大小及相应值:cat /etc/mke2fs.conf
63、查看ext文件系统的inode号命令:find / -ignore_readdir_race -inum 2 -ls
,显示的结果中/proc和/sys 是虚拟文件系统
查看磁盘信息:fdisk -l /dev/sda1
;查看主机scsi总线号:ls /sys/class/scsi_host/
64、使用fdisk分区,只能实现MBR格式的分区,命令fdisk /dev/sdb
,分区的过程实质上是划分柱面以及修改分区表,分区的操作都是在内存中执行的,必须保存才能生效,要分GPT磁盘上的区,可以使用gdisk,而parted工具对这两种格式的磁盘分区都支持。
65、格式化分区的过程就是创建文件系统的过程
66、要查看支持的文件系统类型,只需要简单的输入mkfs,然后按两下tab键,就可以列出各文件系统对应的格式化命令,这些就是支持的文件系统类型
列出设备及其状态,主要列出非空的存储设备:lsblk
查看文件系统类型和文件系统的uuid和挂载点:lsblk -f
67、每个格式化过的文件系统都有其类型和uuid,而没有格式化的设备(如/dev/sdb3),将只显示一个name结果,表示该设备还未进行格式化
用来查看文件系统类型和uuid:blkid
显示查看磁盘信息:fdisk -l /dev/sda
;查看该文件信息:file -s /dev/sdb2
68、du命令用于评估文件空间占用情况,统计时会递归到子目录
示例:du -h --max-depth=1 /usr
各参数详解:-h显示的大小;--max-depth=1数字代表要显示的层级数
69、df命令用于显示报告磁盘空间使用率,默认显示的大小是1k大小block数量,也就是以k为单位
显示当前已挂载信息:mount
查看某个目录是否是挂载点,使用命令:mountpoint
示例:[root@localhost ~]# mountpoint /sys
输出:/sys is a mountpoint
[root@localhost ~]#echo $?
输出:0
[root@localhost ~]#mountpoint /mnt
/mnt is not a mountpoint
[root@localhost ~]#echo $?
输出:1
70、查看谁正在访问该目录或者文件:fuser -v /root
71、清空历史命令文件:> ~/.bash_history
72、清空当前缓存的命令:history -c
73、查询iptable列表:iptables -L -n --line-numbers
74、进入到容器telnet远程服务器网络是否通畅:kubelet exec -it 容器ID telent ip port
75、查看当用户连接数:lsof -n|awk '{print $2}' | sort|uniq -c|sort -nr|wc -l
lsof|awk '{print $2}'|wc -l
76、强制删除pod:kubectl delete pod
这里的0表示立即终止pod
77、定时任务:vi /etc/crontab
78、批量删除未运行的pod:
kubectl get pod -n admin|grep -v Running|awk '{print $1}'|xargs kubectl delete pod -n admin --grace-period=0 --force
79、 sed 命令是利用脚本来处理文本文件,例如:sed -i 's/10.22.72.5/59.231.9.254/' /etc/crontab
前面的ip是被替换的字符串,后面的ip是新字符串。crontab是定时任务,定时器。。
80、设置为本地时区:timedatectl set-timezone Asia/Shanghai
81、拷贝文件夹内容到一个目录下:cp -r oauth2/. /aiplogin;挂载要创建目录(路径)
mkdir /aiplogin 创建文件夹mkdir aiplogin,区别在那一斜杠
82、查看端口监听情况:netstat -lntup|grep 10250
查看监听端口10250所对应的进程id
83、解压:
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
84、分析pod异常的命令:
kubectl get pod -o go-template='{{range.status.containerStatuses}}{{"Container Name: "}}{{.name}}{{"\r\nLastState: "}}{{.lastState}}{{end}}' PODID
85、查询磁盘分区状态以及添加新磁盘分区
首先执行:lsblk 列出系统上的所有磁盘列表,因为name那里省略了/dev前导目录
查出来系统上的所有磁盘列表之后,也可以执行lsblk -ip /dev/sda
也可以使用命令blkid查询设备的UUID等参数
再执行parted device name print命令列出磁盘的分区表类型与分区信息
parted /dev/sda print
要注意的是MBR分区表用fdisk分区,GPT分区表用gdisk分区。搞错了这个分区类型,会导致分区失败
86、查找磁盘下的所有文件占用磁盘空间的大小
find . -type f -size +1G | xargs ls -lh
docker images rmi $(docker images -q)
88、查询占用目录最大的文件信息
sudo du -hs /var/lib/docker/
docker system df
du -h -d 1 /var/lib/docker
89、批量删除pod命令
kubectl get pods -n namespaces | grep Evicted | awk '{print $1}' | xargs kubectl delete pod -n namespaces