前 言
记得不久前跟大家大分享了一波集体在平时日常工作、学习、开发、写文字、做视频等过程中,一些好用高效的在线工具和网站,并且把本人的浏览器收藏夹书签离线文件都导出给大家了。
很多小伙伴后盾反馈还不错,说书签一导入后,很多工具的确挺好用,次要省了很多找资源和整顿的工夫。
明天持续分享,最近花了不少工夫把平时开发过程中罕用的一些Linux系统命令给做了一个大整顿,造成一个罕用高频Linux速查备忘录。有了它,还怕Linux操作系统罕用操作和命令记不住么?
接下来间接上菜吧。
注:本文 GitHub https://github.com/rd2coding/Road2Coding 曾经收录,外面有我整顿的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及我的程序员人生。
关机/重启/登记
常用命令 | 作用 |
---|---|
shutdown -h now | 即刻关机 |
shutdown -h 10 | 10分钟后关机 |
shutdown -h 11:00 | 11:00关机 |
shutdown -h +10 | 预约工夫关机(10分钟后) |
shutdown -c | 勾销指定工夫关机 |
shutdown -r now | 重启 |
shutdown -r 10 | 10分钟之后重启 |
shutdown -r 11:00 | 定时重启 |
reboot | 重启 |
init 6 | 重启 |
init 0 | 立即关机 |
telinit 0 | 关机 |
poweroff | 立即关机 |
halt | 关机 |
sync | buff数据同步到磁盘 |
logout | 退出登录Shell |
留神点:比方同样是关机,shutdown、poweroff、halt、init 0有什么区别呢?这个有趣味能够本人理解一下,它们是有区别的。
零碎信息和性能查看
这里命令其实平时用得是十分之多的,因为一旦零碎或者后盾服务除了问题,咱们常常要登上去查看,包含很多的零碎信息,比方:零碎版本、内核版本、处理器架构、计算机名、环境变量、用户状况、负载状况、内存用量、磁盘信息、过程、网络连接...
常用命令 | 作用 |
---|---|
uname -a | 查看内核/OS/CPU信息 |
uname -r | 查看内核版本 |
uname -m | 查看处理器架构 |
arch | 查看处理器架构 |
hostname | 查看计算机名 |
who | 显示以后登录零碎的用户 |
who am i | 显示登录时的用户名 |
whoami | 显示以后用户名 |
cat /proc/version | 查看linux版本信息 |
cat /proc/cpuinfo | 查看CPU信息 |
cat /proc/interrupts | 查看中断 |
cat /proc/loadavg | 查看零碎负载 |
uptime | 查看零碎运行工夫、用户数、负载 |
env | 查看零碎的环境变量 |
lsusb -tv | 查看零碎USB设施信息 |
lspci -tv | 查看零碎PCI设施信息 |
lsmod | 查看已加载的零碎模块 |
grep MemTotal /proc/meminfo | 查看内存总量 |
grep MemFree /proc/meminfo | 查看闲暇内存量 |
free -m | 查看内存用量和替换区用量 |
date | 显示零碎日期工夫 |
cal 2021 | 显示2021日历表 |
top | 动态显示cpu/内存/过程等状况 |
vmstat 1 20 | 每1秒采一次零碎状态,采20次 |
iostat | 查看io读写/cpu应用状况 |
sar -u 1 10 | 查问cpu应用状况(1秒一次,共10次) |
sar -d 1 10 | 查问磁盘性能 |
磁盘和分区
这是和日常应用非亲非故的一些常用命令,在Windows零碎外面咱们点点鼠标,图形化界面上就能查看,然而在Linux中咱们应该熟练掌握用命令的形式来查看,比方:各种分区信息查看、磁盘应用状况、文件和目录大小、各种挂载和卸载...
常用命令 | 作用 | |
---|---|---|
fdisk -l | 查看所有磁盘分区 | |
swapon -s | 查看所有替换分区 | |
df -h | 查看磁盘应用状况及挂载点 | |
df -hl | 查看磁盘残余空间 | |
du -sh /dir | 查看指定目录大小 | |
`du -sk * | sort -rn` | 从高到低顺次显示文件和目录大小 |
mount /dev/hda2 /mnt/hda2 | 挂载hda2盘 | |
mount -t ntfs /dev/sdc1 /mnt/usbhd1 | 指定文件系统类型挂载(如ntfs) | |
mount -o loop xxx.iso /mnt/cdrom | 挂载iso文件 | |
mount /dev/sda1 /mnt/usbdisk | 挂载usb盘/闪存设施 | |
umount -v /dev/sda1 | 通过设施名卸载 | |
umount -v /mnt/mymnt | 通过挂载点卸载 | |
fuser -km /mnt/hda1 | 强制卸载(慎用) |
用户和用户组
Linux零碎里用户组和用户自身也是一个十分重要的概念,这部分命令次要就是对于:用户的CRUD、用户组的CURD、而后还包含查用户、切换用户、改明码、查用户登录日志...
常用命令 | 作用 |
---|---|
useradd codesheep | 创立用户 |
userdel -r codesheep | 删除用户 |
usermod -g group_name user_name | 批改用户的组 |
usermod -aG group_name user_name | 将用户增加到组 |
usermod -s /bin/ksh -d /home/codepig –g dev codesheep | 批改用户codesheep的登录Shell、主目录以及用户组 |
groups test | 查看test用户所在的组 |
groupadd group_name | 创立用户组 |
groupdel group_name | 删除用户组 |
groupmod -n new_name old_name | 重命名用户组 |
su - user_name | 残缺切换到一个用户环境 |
passwd | 批改口令 |
passwd codesheep | 批改某用户的口令 |
w | 查看流动用户 |
id codesheep | 查看指定用户信息 |
last | 查看用户登录日志 |
crontab -l | 查看以后用户的打算工作 |
cut -d: -f1 /etc/passwd | 查看零碎所有用户 |
cut -d: -f1 /etc/group | 查看零碎所有组 |
网络和过程治理
咱们作为一个后端开发,这些命令平时用到的概率很大,比方:查看网络、查看连贯、查看端口服务、配置网卡/防火墙/路由表/DNS,查看和过滤过程,采集零碎状态,还有一些零碎性能的监控和排查命令...等等。这些命令,在后端开发连到公司服务器下来排查问题时就很有用了,用得也很频繁。
常用命令 | 作用 | |
---|---|---|
ifconfig | 查看网络接口属性 | |
ifconfig eth0 | 查看某网卡的配置 | |
route -n | 查看路由表 | |
netstat -lntp | 查看所有监听端口 | |
netstat -antp | 查看所有曾经建设的连贯 | |
netstat -lutp | 查看TCP/UDP的状态信息 | |
ifup eth0 | 启用eth0网络设备 | |
ifdown eth0 | 禁用eth0网络设备 | |
iptables -L | 查看防火墙设置 | |
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 | 配置ip地址 | |
dhclient eth0 | 以dhcp模式启用eth0 | |
route add -net 0/0 gw Gateway_IP | 配置默认网关 | |
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 | 配置动态路由达到网络'192.168.0.0/16' | |
route del 0/0 gw Gateway_IP | 删除动态路由 | |
hostname | 查看主机名 | |
host www.codesheep.cn | 解析主机名 | |
nslookup www.codesheep.cn | 查问DNS记录,查看域名解析是否失常 | |
ps -ef | 查看所有过程 | |
`ps -ef | grep codesheep` | 过滤出你须要的过程 |
kill -s name | kill指定名称的过程 | |
kill -s pid | kill指定pid的过程 | |
top | 实时显示过程状态 | |
vmstat 1 20 | 每1秒采一次零碎状态,采20次 | |
iostat | 查看io读写/cpu应用状况 | |
sar -u 1 10 | 查问cpu应用状况(1秒一次,共10次) | |
sar -d 1 10 | 查问磁盘性能 |
常见零碎服务命令
这类命令平时接触得也很多,比方咱们本人在装置和部署各种各样的根底编程环境和服务时就罕用,比方装JDK、MySQL数据库、redis缓存、nginx服务器...
常用命令 | 作用 |
---|---|
chkconfig --list | 列出零碎服务 |
service <服务名> status | 查看某个服务 |
service <服务名> start | 启动某个服务 |
service <服务名> stop | 终止某个服务 |
service <服务名> restart | 重启某个服务 |
systemctl status <服务名> | 查看某个服务 |
systemctl start <服务名> | 启动某个服务 |
systemctl stop <服务名> | 终止某个服务 |
systemctl restart <服务名> | 重启某个服务 |
systemctl enable <服务名> | 开启自启动 |
systemctl disable <服务名> | 敞开自启动 |
文件和目录操作
这类命令全副是Linux零碎应用的基本操作,也是平时用到频率最高的一些命令,对于文件操作的、对于目录操作的、对于门路的。比方:对文件和目录的各种高频操作,创立、查看、查找、删除、重命名、复制、软连贯、疾速定位和查找... 等等。都是些高频的实用命令。
常用命令 | 作用 | |
---|---|---|
cd <目录名> | 进入某个目录 | |
cd .. | 回下级目录 | |
cd ../.. | 回上两级目录 | |
cd | 进集体主目录 | |
cd - | 回上一步所在目录 | |
pwd | 显示以后门路 | |
ls | 查看文件目录列表 | |
ls -F | 查看目录中内容(显示是文件还是目录) | |
ls -l | 查看文件和目录的详情列表 | |
ls -a | 查看暗藏文件 | |
ls -lh | 显示权限 | |
ls -lSr | more | 按大小查看文件/目录 |
tree | 查看文件和目录的树形构造 | |
mkdir <目录名> | 创立目录 | |
mkdir dir1 dir2 | 同时创立两个目录 | |
mkdir -p /tmp/dir1/dir2 | 创立目录树 | |
rm -f file1 | 删除'file1'文件 | |
rmdir dir1 | 删除'dir1'目录 | |
rm -rf dir1 | 删除'dir1'目录和其内容 | |
rm -rf dir1 dir2 | 同时删除两个目录及其内容 | |
mv old_dir new_dir | 重命名/挪动目录 | |
cp file1 file2 | 复制文件 | |
cp dir/* . | 复制某目录下的所有文件至当前目录 | |
cp -a dir1 dir2 | 复制目录 | |
cp -a /tmp/dir1 . | 复制一个目录至当前目录 | |
ln -s file1 link1 | 创立指向文件/目录的软链接 | |
ln file1 lnk1 | 创立指向文件/目录的物理链接 | |
find / -name file1 | 从跟目录开始搜寻文件/目录 | |
find / -user user1 | 搜寻用户user1的文件/目录 | |
find /dir -name *.bin | 在目录/dir中搜带有.bin后缀的文件 | |
locate 关键词 | 疾速定位文件 | |
locate *.mp4 | 寻找.mp4结尾的文件 | |
whereis halt | 显示某二进制文件/可执行文件的门路 | |
which halt | 查找系统目录下的二进制文件 | |
chmod ugo+rwx dir1 | 设置目录所有者(u)、群组(g)及其他人(o)的读(r)写(w)执行(x)权限 | |
chmod go-rwx dir1 | 移除群组(g)与其他人(o)对目录的读写执行权限 | |
chown user1 file1 | 扭转文件的所有者属性 | |
chown -R user1 dir1 | 扭转目录的所有者属性 | |
chgrp group1 file1 | 扭转文件群组 | |
chown user1:group1 file1 | 扭转文件的所有人和群组 |
文件查看和解决
这部分命令次要针对性地对于文件解决或者说文本处理,比方咱们作为一个程序员,那操作最多的就是代码源文件,各种花式查看、比拟、减少、删除、替换、合并... 等等一系列疾速操作。
常用命令 | 作用 | |
---|---|---|
cat file1 | 查看文件内容 | |
cat -n file1 | 查看内容并标示行数 | |
cat xxx.txt | awk 'NR%2==1' | 查看文件中的所有奇数行 |
tac file1 | 从最初一行开始反看文件内容 | |
more file1 | 查看一个长文件的内容 | |
less file1 | 相似more命令,但容许反向操作 | |
head -2 file1 | 查看文件前两行 | |
tail -2 file1 | 查看文件后两行 | |
tail -f /log/msg | 实时查看增加到文件中的内容 | |
grep codesheep hello.txt | 在文件hello.txt中查找关键词codesheep | |
grep ^sheep hello.txt | 在文件hello.txt中查找以sheep结尾的内容 | |
grep [0-9] hello.txt | 抉择hello.txt文件中所有蕴含数字的行 | |
sed 's/s1/s2/g' hello.txt | 将hello.txt文件中的s1替换成s2 | |
sed '/^$/d' hello.txt | 从hello.txt文件中删除所有空白行 | |
sed '/ *#/d; /^$/d' hello.txt | 从hello.txt文件中删除所有正文和空白行 | |
sed -e '1d' hello.txt | 从文件hello.txt 中排除第一行 | |
sed -n '/s1/p' hello.txt | 查看只蕴含关键词"s1"的行 | |
sed -e 's/ *$//' hello.txt | 删除每一行最初的空白字符 | |
sed -e 's/s1//g' hello.txt | 从文档中只删除词汇s1并保留残余全副 | |
sed -n '1,5p;5q' hello.txt | 查看从第一行到第5行内容 | |
sed -n '5p;5q' hello.txt | 查看第5行 | |
paste file1 file2 | 合并两个文件或两栏的内容 | |
paste -d '+' file1 file2 | 合并两个文件或两栏的内容,两头用"+"辨别 | |
sort file1 file2 | 排序两个文件的内容 | |
sort file1 file2 | uniq | 取出并集(反复的行只保留一份) |
sort file1 file2 | uniq -u | 删除交加,留下其余行 |
sort file1 file2 | uniq -d | 取交加 |
comm -1 file1 file2 | 比拟两个文件的内容(去除'file1'所含内容) | |
comm -2 file1 file2 | 比拟两个文件的内容(去除'file2'所含内容) | |
comm -3 file1 file2 | 比拟两个文件的内容(去除两文件共有局部) |
打包和解压
这部分内容次要对于文件或者目录的打包压缩和解压,波及好几种压缩包格局和文件,这部分命令在平时用得也是十分十分频繁的。
常用命令 | 作用 |
---|---|
zip xxx.zip file | 压缩至zip包 |
zip -r xxx.zip file1 file2 dir1 | 将多个文件+目录压成zip包 |
unzip xxx.zip | 解压zip包 |
tar -cvf xxx.tar file | 创立非压缩tar包 |
tar -cvf xxx.tar file1 file2 dir1 | 将多个文件+目录打tar包 |
tar -tf xxx.tar | 查看tar包的内容 |
tar -xvf xxx.tar | 解压tar包 |
tar -xvf xxx.tar -C /dir | 将tar包解压至指定目录 |
tar -cvfj xxx.tar.bz2 dir | 创立bz2压缩包 |
tar -jxvf xxx.tar.bz2 | 解压bz2压缩包 |
tar -cvfz xxx.tar.gz dir | 创立gzip压缩包 |
tar -zxvf xxx.tar.gz | 解压gzip压缩包 |
bunzip2 xxx.bz2 | 解压bz2压缩包 |
bzip2 filename | 压缩文件 |
gunzip xxx.gz | 解压gzip压缩包 |
gzip filename | 压缩文件 |
gzip -9 filename | 最大水平压缩 |
而后接下来就是一些常见的包管理器命令。首先什么是包管理器,大家应该都分明。
这么说吧,如果没有包管理器这个货色的存在,那预计仅仅是Linux零碎上的软件装置,怕是就要劝退很多用户了,因为很多的软件依赖解决会让人抓狂。因而简略来说,咱们能够将包管理器了解为,用来为Linux零碎上的软件装置、卸载、降级、查问提供反对的组件,所以对于用户应用来说,个别就是一组工具命令集。
咱们平时应用最广的比方,红帽子的包构造RPM包管理器,像RedHat、CentOS等零碎都在用,典型的命令就是rpm命令、yum命令;而后就是DPKG包管理器,像Debain、Ubuntu等零碎都用,典型的命令比方dpkg命令、apt软件工具。
rpm包治理命令
常用命令 | 作用 |
---|---|
rpm -qa | 查看已装置的rpm包 |
rpm -q pkg_name | 查问某个rpm包 |
rpm -q --whatprovides xxx | 显示xxx性能是由哪个包提供的 |
rpm -q --whatrequires xxx | 显示xxx性能被哪个程序包依赖的 |
rpm -q --changelog xxx | 显示xxx包的更改记录 |
rpm -qi pkg_name | 查看一个包的详细信息 |
rpm -qd pkg_name | 查问一个包所提供的文档 |
rpm -qc pkg_name | 查看已装置rpm包提供的配置文件 |
rpm -ql pkg_name | 查看一个包装置了哪些文件 |
rpm -qf filename | 查看某个文件属于哪个包 |
rpm -qR pkg_name | 查问包的依赖关系 |
rpm -ivh xxx.rpm | 装置rpm包 |
rpm -ivh --test xxx.rpm | 测试装置rpm包 |
rpm -ivh --nodeps xxx.rpm | 装置rpm包时疏忽依赖关系 |
rpm -e xxx | 卸载程序包 |
rpm -Fvh pkg_name | 降级确定已装置的rpm包 |
rpm -Uvh pkg_name | 降级rpm包(若未装置则会装置) |
rpm -V pkg_name | RPM包详细信息校验 |
yum包治理命令
常用命令 | 作用 |
---|---|
yum repolist enabled | 显示可用的源仓库 |
yum search pkg_name | 搜寻软件包 |
yum install pkg_name | 下载并装置软件包 |
yum install --downloadonly pkg_name | 只下载不装置 |
yum list | 显示所有程序包 |
yum list installed | 查看以后零碎已安装包 |
yum list updates | 查看能够更新的包列表 |
yum check-update | 查看可降级的软件包 |
yum update | 更新所有软件包 |
yum update pkg_name | 降级指定软件包 |
yum deplist pkg_name | 列出软件包依赖关系 |
yum remove pkg_name | 删除软件包 |
yum clean all | 革除缓存 |
yum clean packages | 革除缓存的软件包 |
yum clean headers | 革除缓存的header |
dpkg包治理命令
常用命令 | 作用 |
---|---|
dpkg -c xxx.deb | 列出deb包的内容 |
dpkg -i xxx.deb | 装置/更新deb包 |
dpkg -r pkg_name | 移除deb包 |
dpkg -P pkg_name | 移除deb包(不保留配置) |
dpkg -l | 查看零碎中已装置deb包 |
dpkg -l pkg_name | 显示包的大抵信息 |
dpkg -L pkg_name | 查看deb包装置的文件 |
dpkg -s pkg_name | 查看包的详细信息 |
dpkg –unpack xxx.deb | 解开deb包的内容 |
apt软件工具
常用命令 | 作用 |
---|---|
apt-cache search pkg_name | 搜寻程序包 |
apt-cache show pkg_name | 获取包的概览信息 |
apt-get install pkg_name | 装置/降级软件包 |
apt-get purge pkg_name | 卸载软件(包含配置) |
apt-get remove pkg_name | 卸载软件(不包含配置) |
apt-get update | 更新包索引信息 |
apt-get upgrade | 更新已装置软件包 |
apt-get clean | 清理缓存 |
离线文档
除了上述内容,本次梳理还把那些高频实用的Linux命令给提了进去,并且做成了两种模式的离线文档,别离为PDF格局和高清图片格式,PDF不便电脑查看,高清图片则不便用手机查看,这样没事的功夫都能够拿进去在手机上瞅一瞅、看一看。
PDF文档大抵长这样:
高清图片差不多长这样,有十几张,蕴含了几百条命令:
该文档 GitHub https://github.com/rd2coding/Road2Coding 曾经收录。
后 记
另外最近花了大把力量,把自用的编程学习资源做了个大整顿。
都是纯肝货,目录如下。
该内容 GitHub https://github.com/rd2coding/Road2Coding 曾经收录,外面还有我整顿的6大编程方向的自学路线+知识点大梳理、我的简历、面试考点、几本硬核pdf笔记,以及我的程序员人生,欢送star。
整顿不易,欢送反对,下期见!