前言记得在日常工作、学习、开发、写作、制作视频的过程中,给大家分享了一些好用又高效的在线工具。和网站,并将您的浏览器收藏夹、书签和离线文件导出给所有人。很多小伙伴的后台反馈还不错,说书签导入后,很多工具真的很好用,主要是省了很多找资源和整理的时间。今天继续分享。最近花了很多时间整理了一些平时开发过程中常用的Linux系统命令,形成了一份常用的高频Linux速查备忘录。有了它,还怕Linux操作系统的常用操作和命令记不住吗?接下来,让我们直接进入食物。注:本文已收录GitHubhttps://github.com/rd2coding/Road2Coding,内含6大编程方向(帖子)+知识点梳理、面试考点、本人简历的自学路线,和几本铁杆书籍。pdf笔记,和我的程序员生活。关机/重启/注销常用命令shutdown-hnowshutdownimmediatelyshutdown-h1010minuteslatershutdownshutdown-h11:0011:00shutdownshutdown-h+10scheduletimeshutdown(after10minutes)shutdown-ccancel指定时间关机shutdown-r现在重启shutdown-r1010分钟后重启shutdown-r11:00定时重启rebootrestartinit6restartinit0立即关闭telinit0shutdownpoweroff立即shutdownhaltshutdownsyncbuff数据同步到磁盘logoutexitloginShell注意点:forexample也是关机,shutdown、poweroff、halt、init0有什么区别?有兴趣的可以自己去了解一下,它们是不一样的。系统信息和性能检查这个命令其实平时用的很多,因为一旦系统或者后台服务出现问题,我们往往要登录查看,包括很多系统信息,比如:系统版本,内核版本,处理器架构,计算机名称,环境变量,用户状态,负载状态,内存使用,磁盘信息,进程,网络连接...常用命令uname-a查看内核/OS/CPU信息uname-r查看内核版本uname-m查看进程查看处理器架构arch查看处理器架构hostname查看计算机名who显示当前登录用户whoami显示登录用户名whoami显示当前用户名cat/proc/version查看linux版本信息cat/proc/cpuinfo查看CPU信息cat/proc/interrupts查看中断cat/proc/loadavg查看系统loaduptime查看系统运行时间,用户数,loadenv查看系统环境变量lsusb-tv查看系统USB设备信息lspci-tv查看系统PCI设备信息lsmod查看加载的系统模块grepMemTotal/proc/meminfo查看内存总量grepMemFree/proc/meminfo查看空闲内存量free-m查看内存使用情况和swapareausagedate显示系统日期和时间cal2021显示2021年日历top动态显示cpu/memory/Process等情况vmstat120每1秒收集一次系统状态,收集iostat20次查看ioread/write/cpuusagesar-u110查询cpu使用率(每秒一次,共10次)sar-d110查询磁盘性能磁盘和分区这些是一些与日常使用密切相关的常用命令。在Windows系统中,我们可以在图形界面上轻点鼠标进行查看,但是在Linux中,我们要熟练使用命令进行查看,例如:查看各种分区信息、磁盘使用情况、文件和目录大小,各种挂载和卸载...常用命令功能fdisk-l查看所有磁盘分区swapon-s查看所有交换分区df-h查看磁盘使用情况和挂载挂载点df-hl查看剩余磁盘空间du-sh/dirto查看指定目录的大小`du-sk*sort-rn`从高到低显示文件和目录的大小mount/dev/hda2/mnt/hda2mounthda2diskmount-tntfs/dev/sdc1/mnt/usbhd1指定挂载的文件系统类型(如ntfs)mount-oloopxxx.iso/mnt/cdrom挂载iso文件mount/dev/sda1/mnt/usbdisk挂载usb盘/闪存设备umount-v/dev/sda1Unmountbydevicenameumount-v/mnt/mymntUnmountfuserbymountpoint-km/mnt/hda1强制卸载(慎用)用户和用户组用户组和用户本身在Linux系统中也是非常重要的概念。一些命令主要是:用户的CRUD,用户组的CURD,然后包括查看用户,切换用户,修改密码,查看用户登录日志...常用命令使用useraddcodesheep创建用户userdel-rcodesheepdeleteusersusermod-ggroup_nameuser_name修改用户的组usermod-aGgroup_nameuser_name将用户添加到组usermod-s/bin/ksh-d/home/codepig–gdevcodesheep修改用户codesheep的登录shell,home目录和用户组groupstest视图测试用户groupaddgroup_name创建用户组groupdelgroup_name删除用户组groupmod-nnew_nameold_name重命名用户组su-user_name完全切换到用户环境passwd修改密码passwdcodesheep修改用户密码w查看活跃用户idcodesheep查看指定用户信息last查看用户登录日志crontab-l查看当前用户的定时任务cut-d:-f1/etc/passwd查看系统所有用户cut-d:-f1/etc/group查看系统所有组网络和进程管理我们作为一个后端开发,这些命令通常都是用到高概率的,比如:查看网络,查看连接,查看端口服务,配置网卡/防火墙/路由表/DNS,查看和过滤进程,收集系统status,还有一些系统性能,监控,排查命令...等等,这些命令在后端开发连接公司服务器排查问题的时候非常有用,使用频率很高。常用命令功能ifconfig查看网络接口属性ifconfigeth0查看网卡配置Route-n查看路由表netstat-lntp查看所有监听端口netstat-antp查看所有建立的连接netstat-lutp查看TCP/UDP状态信息eth0网络设备ifdowneth0禁用eth0网络设备iptables-L查看iptables规则ifconfigeth0192.168.1.1netmask255.255.255.0配置ip地址dhclienteth0在dhcp模式下启用eth0add-net0/0gwGateway_IP配置默认网关路由add-net192.168。0.0netmask255.255.0.0gw1??92.168.1.1配置静态路由到达网络'192.168.0.0/16'routedel0/0gwGateway_IPdeletestaticroutehostnameviewhostnamehostwww.codesheep.cnresolvehostnamenslookupwww.codesheep.cn查询DNS记录,查看域名解析是否正常ps-ef查看所有进程`ps-efgrepcodesheep`过滤掉你需要的进程kill-snamekill指定名称的进程kill-spidkill指定名称的进程pidtop实时显示进程状态vmstat120每1秒收集一次系统状态,收集iostat20次查看ioread/write/cpu使用情况sar-u110查询cpu使用情况(每秒一次,共10次)sar-d110查询磁盘性能常用系统服务命令这些命令也用的很多。比如我们在安装部署各种基础编程环境和服务时经常会用到它们,比如安装JDK、MySQL数据库、redis缓存、nginx服务器...常用命令的作用chkconfig--list列出系统服务service<服务名>status查看服务servicestart启动服务servicestop终止服务servicerestart重启服务systemctlstatuss查看服务systemctlstart启动服务systemctlstop终止服务systemctlrestart重启服务systemctlenable启用自启动systemctldisable关闭自启动文件和目录操作都是linux系统使用的基本操作,也是使用频率最高的一些命令。例如,对于文件操作、目录操作、路径等目录和目录的各种高频操作,如创建、查看、查找、删除、重命名、复制、软链接、快速定位、查找……等。这些是高频实用命令。常用命令功能cd<目录名>进入某个目录cd..返回上级目录cd../..返回二级目录cd进入个人主目录cd-返回目录上一步所在的位置pwd显示当前路径ls查看文件目录列表ls-F查看目录内容(显示是文件还是目录)ls-l查看文件和目录的详细列表ls-a查看隐藏文件ls-lh显示权限ls-lSrmore按大小查看文件/目录tree查看文件和目录树结构mkdir<目录名>创建目录mkdirdir1dir2同时创建两个目录mkdir-p/tmp/dir1/dir2创建目录树rm-ffile1删除“file1”文件rmdirdir1删除“dir1”目录rm-rfdir1删除“dir1”目录及其内容rm-rfdir1dir2删除两个目录及其内容mvold_dirnew_dir重命名/移动目录cpfile1file2复制文件cpdir/*.将目录中的所有文件复制到当前目录cp-adir1dir2复制目录cp-a/tmp/dir1.复制目录到当前目录ln-sfile1link1创建指向文件/目录的软链接lnfile1lnk1创建指向文件/目录的物理链接find/-namefile1from按照目录开始搜索文件/目录find/-useruser1搜索文件/directoriesofuseruser1find/dir-name*.bin在目录中搜索.bin后缀的文件/dirlocate关键字快速定位文件locate*.mp4find.mp4结尾的文件whereishalt表示a的路径binaryfile/executablefilewhichhalt在系统目录下查找二进制文件chmodugo+rwxdir1设置目录属主(u)组(g)等(o)读(r)写(w)执行(x)权限chmodgo-rwxdir1removegroup(g)andothers(o)目录的读、写和执行权限chownuser1file1改变文件的属主属性chown-ruser1dir1改变目录的属主属性chgrpgroup1file1改变文件组chownuser1:group1file1更改文件的所有者和组文件查看和处理这部分命令主要是文件处理管理或者文本处理,比如作为程序员,对代码源文件的操作是最频繁的,各种花式查看、比较、添加、删除、替换、合并……等一系列快捷操作……常用命令的作用catfile1查看文件内容cat-nfile1查看内容并标记行数ca??txxx.txtawk'NR%2==1'查看文件中所有奇数行tacfile1从最后一行查看文件内容morefile1查看一个长文件的内容lessfile1与more命令类似,但是允许反向操作head-2file1查看文件的前两行tail-2file1查看文件最后两行tail-f/log/msg查看文件实时添加的内容grepcodesheephello.txt在文件hello.txt中搜索关键字codesheepgrep^sheephello.txt搜索hello.txt文件中以sheep开头的内容grep[0-9]hello.txt选择hello.txt文件中的所有数字sed's/s1/s2/g'hello.txt行替换hello.txt中的s1filewiths2sed'/^$/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只删除词汇表s1fromthedocumentandkeepalltherestsed-n'1,5p;5q'hello.txt查看第一行到第五行的内容sed-n'5p;5q'hello.txt查看第五行pastefile1file2合并两个文件或两列的内容paste-d'+'file1file2合并两个文件或两列的内容,中间用“+”区分sortfile1file2将两个文件的内容排序sortfile1file2uniq取出theunion(只重复该行的一个副本)sortfile1file2uniq-u删除交集,保留其他行sortfile1file2uniq-d取交集comm-1file1file2比较两个文件的内容(删除'file1的内容')通信-2file1file2比较两个文件的内容(去掉'file2'的内容)comm-3file1file2比较两个文件的内容(去掉两个文件的共同部分)打包解压这部分主要是打包文件或目录的压缩和解压缩涉及几种压缩包格式和文件。这部分命令在平时也使用的非常频繁。常用命令zipxxx.zip文件压缩成一个zip包的作用zip-rxxx.zipfile1file2dir1将多个压缩文件+目录打成一个zip包unzipxxx.zip解压zip包tar-cvfxxx.tar文件创建非压缩tar包tar-cvfxxx.tarfile1file2dir1将多个文件+目录打包成一个tar包tar-tfxxx.tar查看tar包内容tar-xvfxxx.tar解压tar包tar-xvfxxx.tar-C/dir解压tar包到指定目录tar-cvfjxxx.tar.bz2dir创建bz2压缩包tar-jxvfxxx.tar.bz2解压bz2压缩包tar-cvfzxxx.tar.gzdir创建gzip压缩包tar-zxvfxxx.tar.gz解压gzip压缩包bunzip2xxx.bz2解压bz2压缩包bzip2文件名压缩文件gunzipxxx.gz解压gzip压缩包gzip文件名压缩文件gzip-9文件名最大化压缩然后是一些常见的包管理器命令。首先,什么是包管理器大家应该都清楚。这么说吧,如果没有包管理器这个东西,估计也只是Linux系统上的软件安装而已。恐怕很多用户会望而却步,因为很多软件依赖会让人抓狂。所以简单来说,我们可以把包管理器理解为Linux系统上用来为软件的安装、卸载、升级、查询提供支持的一个组件,那么对于用户使用来说,一般就是一套工具命令。使用最广泛的是RedHat的包结构RPM包管理器,RedHat、CentOS等系统都在使用它。典型的命令有rpm命令和yum命令;然后是DPKG包管理器,Debain、Ubuntu等系统都会用到,典型的命令如dpkg命令和apt软件工具。rpm包管理命令常用命令functionrpm-qa查看已安装的rpm包rpm-qpkg_name查询某个rpm包rpm-q--whatprovidesxxx显示哪个包提供xxx功能rpm-q--whatrequiresxxx显示xxxrpm-q--changelogxxx显示xxx包rpm的变更记录-qipkg_name查看一个包rpm的详细信息-qdpkg_name查看一个包rpm提供的文档-qcpkg_name查看安装的rpm包提供的配置文件rpm-qlpkg_name检查软件包中安装了哪些文件rpm-qffilename检查文件属于哪个软件包rpm-qRpkg_name检查软件包的依赖关系rpm-ivhxxx.rpm安装rpm软件包rpm-ivh--testxxx.rpm测试安装rpmpackagerpm-ivh--nodepsxxx.rpm安装rpm包时忽略依赖rpm-exxx卸载包rpm-Fvhpkg_nameupgrade确认安装rpm包rpm-Uvhpkg_name升级rpm包(如果没有安装,会installed)rpm-Vpkg_nameRPM包详情验证yum包管理命令常用命令功能yumrepolistenabled显示可用源码仓库yumsearchpkg_name搜索软件包yuminstallpkg_name下载安装软件包yuminstall--downloadonlypkg_name只下载不安装yumlist显示所有软件包yumlistinstalled查看当前系统安装的软件包yumlistupdates查看可更新软件包列表yumcheck-update查看可升级软件包yumupdate更新所有软件包yumupdatepkg_name升级指定软件包yumdeplistpkg_name列出软件包依赖关系yumremovepkg_name删除packagesyumcleanallclearscacheyumcleanpackages清除缓存包yumcleanheaders清除缓存包头pkg包管理命令常用命令functiondpkg-cxxx.deb列出deb包内容dpkg-ixxx.deb安装/更新deb包dpkg-rpkg_name删除deb包dpkg-Ppkg_name删除deb包(不保留配置)dpkg-l检查系统中已安装的deb包dpkg-lpkg_name显示大概的包信息dpkg-Lpkg_name查看deb包安装文件dpkg-spkg_name查看包详细信息dpkg–unpackxxx.deb解压deb包内容apt软件工具常用命令功能apt-cachesearchpkg_namesearchpackageapt-cacheshowpkg_name获取包概览apt-getinstallpkg_name安装/升级包apt-getpurgepkg_name卸载软件(包括配置)apt-getremovepkg_name卸载软件(不包括配置)apt-getupdate更新包索引信息apt-getupgrade更新安装的软件包apt-getclean清除缓存离线文件除了以上内容,本次梳理还把那些高频实用的Linux命令拿出来,做了两种形式的离线文件,分别是PDF格式和高清图片格式,PDF方便电脑查看,高清图片方便手机查看,闲着手机看看,PDF文档看看。几张纸,包含数百条命令:文档GitHubhttps://github.com/rd2coding/Road2Coding已包含在内。后记另外,最近自己也花了不少心思整理自己的编程学习资源。均为纯肝制品,目录如下。内容GitHubhttps://github.com/rd2coding/Road2Coding已经收录,里面有6大编程方向+知识点整理的自学路线,我的简历,面试考点,几个硬核pdf笔记。还有我的程序员生活,欢迎star。整理不易,欢迎多多支持,下期见!