
linux命令大全linux内核远程工具winscp、MobaXterm、vnc0、 linux的版本优麒麟 20.04 LTS Pro银河麒麟桌面操作系统V10和银河麒麟高级服务器操作系统V10分别推出了飞腾、鲲鹏、龙芯、申威、海光、兆芯六个版本linux5.10.5银河麒麟操作系统社区版4.0.2-SP2是基于优麒麟 16.04 长期支持版本进行定制集成了 UKUI 桌面环境和第三方应用。busterdebian10的代号。bionicUbuntu 18.04的代号。focal Ubuntu20.04的代号。HirsuteUbuntu 21.04Ubuntu版本一览表版本号代号发布时间22.04Jammy Jellyfish2022-04-2221.10Impish Indri2021-10-1421.04Hirsute Hippo2021-04-22[13]20.10Groovy Gorilla2020-10-2220.04 LTSFocal Fossa2020-04-2319.10Eoan Ermine2019-10-1719.04Disco Dingo2019-4-1918.10Cosmic Cuttlefish2018-10-1818.04 LTSBionic Beaver2018-04-2617.10 GNOME成为默认桌面环境Artful Aardvark2017-10-2117.04Zesty Zapus2017-04-1316.10Yakkety Yak2016-10-2016.04 LTSXenial Xerus2016-04-2115.10Wily Werewolf2015-10-2315.04Vivid Vervet2015-04-2214.10Utopic Unicorn2014-10-2314.04 LTSTrusty Tahr2014-04-1813.10Saucy Salamander2013-10-1713.04Raring Ringtail2013-04-2512.10Quantal Quetzal2012-10-1812.04 LTSPrecise Pangolin2012-04-2611.10Oneiric Ocelot2011-10-1311.04 Unity成为默认桌面环境Natty Narwhal2011-04-2810.10Maverick Meerkat2010-10-1010.04 LTSLucid Lynx2010-04-299.10Karmic Koala2009-10-299.04Jaunty Jackalope2009-04-238.10Intrepid Ibex2008-10-308.04 LTSHardy Heron2008-04-247.10Gutsy Gibbon2007-10-187.04Feisty Fawn2007-04-196.10Edgy Eft2006-10-266.06 LTSDapper Drake2006-06-015.10Breezy Badger2005-10-135.04Hoary Hedgehog2005-04-084.10初始发布版本Warty Warthog2004-10-20Debian的代号1、去掉文件夹的锁:sudo chmod -R 777 路径(文件夹或文件)2、麒麟的远程桌面登陆打开我的电脑-工具-连接到服务器-类型中选择SSH输入对方ip、用户名、密码点击连接。3、分页显示命令结果history|less//空格前进b后退q退出ps-ef|less4、查找文件中的内容目录在后# -r:递归 -n显示行号 -i不区分大小写grep-r8.8.8.8./-ngrep-E等同于egrep用于正则表达式5、查找文件目录在前sudofind/-name*init*sudofind/-inameinit#不区分大小写find./-namezz123*-execls-l{}\;#对搜索的结果执行后面的命令全部传find./-typed-okrm-rf{}\;#对每次操作进行询问确认find./-name*.so|xargsls-l\;#对搜索的结果执行后面的命令分批传防内容太多find./-name*.so-print0|xargs-0ls-l\;#对搜索的结果执行后面的命令分批传防内容太多,默认用空格作分隔标记对文件名中有空格的要换一个结束标记此处用0-atime|ctime|mtime#access:访问 change:文件内容修改 modify:文件属性修改6、按行处理 sed/pattern1/pattern2/#其中要对大小括号进行转义\( \) \{ \}# a: append 追加# iinsert# ddelete# ssubstitute 替换# pprint打印seds/the/this/test.sh#将test.sh文件中读到缓存中的the替换成this只开头 -g 全部seds/the/this/test.sh-i#将替换写入到文件中sed-i2,5dtestfile#删除第2到第5行sed-i2a casttestfile#第2行后追加castsed-i/echo/dtestfile#将有echo的行删除sed-is/[^]*//g]testfile#将html中的标签全去掉pattern2中表示pattern1中匹配的字符\1表示与pattern1中第1个括号匹配的字符\2表示与pattern1中第2个括号匹配的字符7、按列处理awk缺省的行分隔符是换行列分隔符是连续的空格和Tab。但行、列分隔符都可以自定义。ps-aux|awk{print $2}#只显示第2列ps-aux|awk$25000 $26000 {print $2}#显示5000-6000的进程号ps-aux|awk$25000 $26000 {varvar1} END {print var}#显示5000-6000的进程个数awk{print $2;}testfileawk$275 {printf $0 reorder;} $275 {print $0;}testfileawk$275 {printf %s %s\n,$0,reorder;} $275 {print $0;}testfileawk$275 {printf(%s %s\n,$0,reorder);} $275 {print $0;}testfileawk/^ *$/ {varvar1} END {print var}testfile#统计文件中空行的个数sudoawkBEGIN {FS:} {print $2}/etc/passwd#重定义列分隔符sudoawk-F:{print $1}/etc/passwd#重定义列分隔符awk常用内建变量FILENAME 当前输入文件的文件名该变量是只读的 NR 当前行的行号只读R:record NF 当前行所拥有的列数只读Ffield OFS 输出格式的列分隔符缺省是空格 FS 输入文件的列分隔符缺省是连续的空格和Tab ORS 输出格式的行分隔符缺省是换行符 RS 输入文件的行分隔符缺省是换行符8、psps[选项]-e显示所有进程。-f全格式。-h不显示标题。-l长格式。-w宽输出。-a显示终端上的所有进程包括其他用户的进程。-r只显示正在运行的进程。-u以用户为主的格式来显示程序状况。-x显示所有程序不以终端机来区分。ps-ef显示出的结果1、UID用户ID2、PID 进程ID3、PPID父进程ID4、C CPU占用率5、STIME 开始时间6、TTY 开始此进程的TTY----终端设备7、TIME 此进程运行的总时间8、CMD 命令名fcitx的配置文件是~/.fcitx/config但是直接用 gedit ~/.fcitx/config 打开配置文件显示的也都是乱码解决办法就是指定编码方式打开“sudo gedit --encoding gbk ~/.fcitx/config” Ubuntu默认的编码方式是UTF-8格式因此需要通过gbk方式来打开该文件。9、ubuntu进入recovery修改文件在Ubuntu上使用恢复模式及Recovery Mode各选项的使用方法开机时一直按住shift键进入grub界面–》Advanced options for ubuntu----》Recovery mode----》root10、保存fitcix的配置保存配置ctrlalts11、su鉴定故障解决sudo passwd root//更新密码sudo vim/etc/passwd 修改为:root:x:0:0:root:/root:/bin/bash//原来是 bin/bash12、manman 1是普通的shell命令(如ls)man 2是系统调用(比如openwrite说明)man 3是函数说明一些库函数。13、mkdirmkdir -p 递归创建目录即使上级目录不存在会按目录层级自动创建目录mkdir -p xx/yy的好处就是一次可以创建多级文件夹若xx文件夹不存在则先创建xx文件夹然后在xx文件夹下创建yy文件夹14、ln -sln -s 源文件 目标文件ln -s 源文件 软链接15、网络重启sudoservicenetwork restartsudoservicenetwork-manager restart#网络管理员服务sudosystemctl restart NetworkManager.service#systemctl命令sudonmcli networking off#nmclisudonmcli networking onsudoifdown-a#ifup、ifdownsudoifup-a16、ifconfignmtui解决network-scripts目录下无网卡对应配置文件问题centOS 7下无法启动网络service network start错误解决办法ifconfig/etc/sysconfig/network-scripts/ifcfg-ehtxxx#网卡对应的配置文件#确定如何对应哪个网卡cat/etc/sysconfig/network-scripts/ifcfg-ehtxxx#uuidnmcli con show#查看所有网卡的UUIDnmcli connection show arp-aifconfigsudoifconfigenp1s0 down#禁掉重复的一个#/etc/sysconfig/network-scripts/ifcfg-ehtxxx #网卡对应的配置文件viifcfg-eth2#把文件内容改为下面内容DEVICEeth2(这个地方必须是你前面查看时的网卡名)TYPEEthernetONBOOTyesNM_CONTROLLEDyesBOOTPROTOstaticIPADDR192.168.181.10NETMASK255.255.255.0(ip、子网、网关都是根据自己的实际情况配置的)GATEWAY192.168.181.117、查看tcp连接netstat-an|greptcpnetstat-anl|grep900018.进程间通信linux进程间通信4种方式19. apt-get install和源码编译安装区别apt-get install 安装的是由源码包编译过的二进制包供应商在编译过程中已经解决掉包之间的依赖关系的因此直接安装即可会直接帮你处理依赖关系。apt-get install安装目录是包的维护者确定的不是用户。系统安装软件一般在/usr/share可执行的文件在/usr/bin配置文件可能安装到了/etc下等。文档一般在 /usr/share可执行文件 /usr/bin配置文件 /etclib文件 /usr/lib。使用源码包要./configure、make、make install手动编译需要自己解决所依赖的源码包本质上和apt-get安装没有区别但是使用源码编译安装可以自定义安装的位置等内容。获取源码sudo apt-get source tree获取tree的源码./configure--prefix/home/userX/gitmakemakeinstall20、df -h和du -hdu-h--max-depth1#(disk usage)显示当前目录下文件大小目录深度为1df-h#(disk free)显示磁盘可用空间和挂载点fdisk-l#输出设备的所有分区内容和操作分区删除新增lsblk#列出所有可用块设备的信息显示其依赖关系lsblk参数21. 挂载新磁盘Ubuntu新增硬盘的方法Linux(Ubuntu)如何处理新添加的硬盘Linux之挂载新的硬盘fdisk详细#关机状态下将硬盘装在电脑上重启电脑后查看/dev/ 下有没多了一块硬盘ls/devfdisk-l#查看磁盘(/dev/sda开始,第二次添加就是/dev/sdb)lsblk-fls/sys/class/scsi_host/#查看总线fdisk/dev/sdb#对磁盘分区依次输入 n(添加分区) , p(主分区), 1(第1个分区), w(保存操作)lsblk-fmkfs-text4 /dev/sdb1#格式化分区为ext4格式sudomkdirdatasudomount-text4-orw,relatime /dev/sdb /data#临时挂载df-h#查看vi/etc/fstab#永久挂载写到开机挂载磁盘文件(/etc/fstab)中# 在文件中加入下面代码/dev/sdb1 /data ext4 defaults0021.1 /etc/fstab【纯干货】linux之fstab文件详解/etc/fstab 文件格式/etc/fstab #file systemdirtypeoptionsdumppasstmpfs/tmp tmpfs nodev,nosuid00/dev/sda1/ext4 defaults,noatime01/dev/sda2 none swap defaults00/dev/sda3/home ext4 defaults,noatime0221.2 挂载的盘无可执行权限lsblkmount/dev/nvme1n1p4 /data#手动挂载mount#查看挂载信息cat/etc/fstab#查看启动挂载配置sudovim/etc/fstab#去掉其中的noexec、usernofail保证有问题也能启动最后一个0,保证能自动挂载rw,relatime,nofail0022、根目录扩容麒麟Linux系统根目录与单目录扩容详解适用于大多数的centeros系统虚拟机linux扩充/home内存容量新硬盘挂载到homefdisk-l#查看新增的的磁盘fdisk/dev/vdb#1、对新增磁盘进行分区#按提示操作 p打印 n新增 d 删除 w操作生效 q退出#操作后 wpartprobe#强制让内核重新找一次分区表更新分区表mkfs-text4 /dev/vdb1#2、分区格式化,格式化为ext4格式#3、将新硬盘临时挂载在一个目录下,将原home内容拷贝至新home中cd/mnt/mkdirhomemount/dev/vdb1 /mnt/home#挂载到/mnt/homedf-h查看cp-a/home/* /mnt/home/#把home下的东西拷到挂载的目录下备份rm-rf/home/*#把home下的东西删干净umount/dev/vdb1#卸载硬盘df-h#查看#4、设置开机挂载vi/etc/fstab#末尾增加一行/dev/vdb1 /home ext4 defaults12df-h#查看 /home是否被挂载mount-a挂载/etc/fstab 中未挂载的分区df-h查看22、ssh连接kylin-v10不能ssh登陆sudovim/etc/ssh/sshd_config#放开port22和PermitRootLoginsudosystemctl restart sshdsudo/etc/init.d/ssh restartssh能登陆但不能拷贝文件sudovim/etc/ssh/sshd_config#修改#Subsystem sftp /usr/libexec/openssh/sftp-serverSubsystemsftpinternal-sftp#重启sshd就可以了重启命令sudoservicesshd restartsudosystemctl restart sshdssh服务23、禁用鼠标中键粘贴Linux(deepin)系统 禁用鼠标中键复制以及键盘改建xmodmap-epointer 1 25 3 4 5 6 7 8若要保留此行为请编辑~/.Xmodmap并添加pointer125345678924、命令更改屏幕分辨率xrandr //查看支持的分辨率 xrandr-s1920x1080//设置分辨率这个最好复制上面的查询结果25、分包split命令详解#Linux上分包split-b400M-d-a1test.zip testsplit.zip#windows上合并copy /b20130428.part00020130428.part001 backup.tar.gz26、kylin相关问题银河麒麟服务器版是基于centos的银河麒麟桌面版是基于debain的26.1 软件源首页https://archive1.kylinos.cn/kylin/KYLIN-ALL/i386https://archive1.kylinos.cn/kylin/KYLIN-ALL/pool/v101-i386/主库https://archive1.kylinos.cn/kylin/KYLIN-ALL/pool/main/通用库https://archive1.kylinos.cn/kylin/KYLIN-ALL/pool/universe/Debian库https://packages.debian.org/sid/amd64/libc6/downloadwps-office:https://www.wps.cn/product/wpslinux#libc6-dev在目录main/glibc目录下太难找了#安装方法dpkg-i*.deb dpkg-igcc.deb26.2 删除自动启动cd/home/kylin/.config/autostart#进入后删除对应的启动项26.3 Qt安装问题26.4 关闭kylin安全认证配置KylinV10sudovim/etc/default/grub# GRUB_CMDLINE_LINUX_SECURITYaudit0 securitykysecGRUB_CMDLINE_LINUX_SECURITYaudit0 securitysudoupdate-grubreboot26.5 麒麟编程注意点char 为unsigned char, windows为signed charlong 为8字节windows为4字节27、dos2unixfind.-typef-execdos2unix{}\;28、linux启动过程及开机自启动28.1 启动顺序启动内核执行init配置文件/etc/inittab启动相应脚本。执行inittab脚本及/etc/init.d、rc.sysinit、rc.d、rc.local…启动登录界面用户登陆时执行脚本顺序/etc/profile、/etc/bashrc、/root/.bashrc、/root/.bash_profile28.2 /etc/inittabinittab文件中定义的登记项都是以隔开的四个段即idrunlevelsactionprocessid它是每个登记项的标识符用于唯一标识每个登记项不能重复id 用来定义缺省的init运行的级别si 是系统初始化的进程ln 其中的n从1~6,指明该进程可以使用的runlevel的级别ud 是升级进程ca 指明当按下CtrlAltDel时运行的进程pf 指当UPS表明断电时运行的进程pr 是在系统真正关闭之前UPS发出电源恢复的信号时需要运行的进程x 是将系统转入X终端时需要运行的进程runlevels系统的运行级别表示process的action要在哪个级别下运行该段中可以定义多个运行级别各级别之间直接写不用分隔符如果为空表示在所有的运行级别运行。Linux的运行级别有0表示关机1表示单用户模式在这个模式中用户登录不需要密码默认网卡驱动是不被加载一些服务不能用。2表示多用户模式NFS服务不开启3表示命令行模式4这个模式保留未用5表示图形用户模式6表示重启系统action表示对应登记项的process在一定条件下所要执行的动作。具体动作有respawn当process终止后马上启动一个新的wait当进入指定的runlevels后process才会启动一次并且到离开这个runlevels终止initdefault设定默认的运行级别即我们开机之后默认进入的运行级别不能是0,6你懂的sysinit系统初始化只有系统开机或重新启动的时候这个process才会被执行一次powerwait当init接收到电源失败信号的时候执行相应的process并且如果init有进程在运行会等待这个进程完成之后再执行相应的processpowerfail当init接收到电源失败信号的时候执行相应的process并且如果init有进程在运行不会等待这个进程完成它会直接执行相应的processpowerokwait电源已经故障但是在等待执行对应操作的时候突然来电了就执行对应的processpowerfailnow当电源故障并且init被通知UPS电源已经快耗尽执行相对应的processctrlaltdel当用户按下ctrlaltdel这个组合键的时候执行对应的processboot只有在引导过程中才执行该进程但不等待该进程的结束当该进程死亡时也不重新启动该进程bootwait只有在引导过程中才执行该进程并等待进程的结束当该进程死亡时也不重新启动该进程off如果process正在运行那么就发出一个警告信号等待20秒后再通过杀死信号强行终止该process。如果process并不存在那么就忽略该登记项once启动相应的进程但不等待该进程结束便继续处理/etc/inittab文件中的下一个登记项当该进程死亡时init也不重新启动该进程process表示启动哪个程序或脚本或执行哪个命令等28.3 开机启动Ubuntu系统设置开机自启在Linux系统中实现开机自动运行脚本的完整指南有systemd银河麒麟之语言设置和服务开机自启动设置开机自启方式有/etc/inittab/etc/rc.d/rc.local #试这个吧/etc/init.d/#使用Update-rc.d命令最好别用开不了机了/etc/profile/etc/profile.d//etc/systemd/system/1rc.local方式centos默认不启动rc.localvim/etc/rc.local#!/bin/bashnohup/home/kylin/mystart.shexit0nohup和的区别 指在后台运行但当用户推出(挂起)的时候命令自动也跟着退出nohup 不挂断的运行注意并没有后台运行的功能就是指用nohup运行命令可以使命令永久的执行下去和用户终端没有关系例如我们断开SSH连接都不会影响他的运行注意了nohup没有后台运行的意思才是后台运行#这样就能使命令永久的在后台执行nohupCOMMANDnohupjava-jardo_iptable.jar/dev/null21nohupphp server1.php/dev/null/dev/null2使用init.d目录脚本实现开机自动运行编辑一个启动脚本.sh文件文件头部可以参照init.d目录下的现有文件比如sshsmbd等头部文件必要严格按照样式填写。最后添加需要执行的实际命令或者脚本。rootwuhs-pc:/etc/init.d# cat autovpn.sh#! /bin/sh### BEGIN INIT INFO# Provides: openvpn# Required-Start: $network $local_fs $remote_fs# Required-Stop: $network $local_fs $remote_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: OpenBSD Secure Shell server### END INIT INFOnohup/etc/openvpn/client/startvpn.shexit0chmod777autostart.shsudomvautostart.sh /etc/init.d/sudoupdate-rc.d autostart.sh defaults90#将脚本文件添加到服务开不了机了Update-rc.d 命令用法详解sudoupdate-rc.d xxxxx.sh defaults90sudoservice--status-all# 重启 查看全部服务列表sudoservicexxx statussudoservicexxx startsudoservicexxx stopsudoservicexxx restartsudoupdate-rc.d-fxxxxx.sh remove# 禁用开机脚本不用update-rc.d就用创建软链接方式到rc【x】.d目录。如下/etc/rc.d/rc0.d//etc/rc.d/rc6.d/文件夹的含义不同S开头代表是开启时处理的脚本按照后面紧跟的数字进行按顺序启动S99则是最后进行启动。#最后添加软连接ln-s/etc/init.d/autovpn.sh /etc/rc2.d/S99autovpn3kylin设置里添加自启动服务将desktop文件加入到自启中。要在开始菜单中显示将其拷贝到 /usr/share/applications 目录下[Desktop Entry]TypeApplicationVersion0.1.0Name主程序Comment这是程序介绍Exec/home/kylin/myappIcon/home/kylin/pic/123.svgStartupNotifyfalseTerminalfalse4systemd启动redis开机启动29、su命令#变更帐号为 clsung 并改变工作目录至 clsung 的家目录home dirsu- clsungsu- root-cvncserver :1 -geometry 1920×108030、双网卡不能同一网段双网卡不能设置为同一网段后面这个网卡的IP将自动路由到前面一个网卡上因此使用其中一个时候需要下线另外一个网卡拔掉另一根网线Linux双网卡设置IP属于同一网段的ping方法以及现象记录分析解决方法Linux双网卡配置相同IP段解决方案#echo 1 /proc/sys/net/ipv4/conf/all/arp_filter31、自动输入1、用echo 管道命令自动给sudo输入密码echo密码|sudo-S命令#这种方式使用脚本运行管理员命令时能够自动运行不被sudo 密码中断但是密码会明文显示密码不安全2、Linux_shell自动输入y或yes# 一次echoyes|[命令]echoy|[命令]# 多次yesyes|[命令]yesy|[命令]32、无密码运行sudoLinux设置sudo无需密码【Ubuntu、多种方法】33、vim查找在normal模式下按下/即可进入查找模式输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个按下N查找上一个按/进入查找输入查找内容按n、N34、端口占用并结束进程34.1 windows命令netstat-ano|findstr :8080 tasklist|findstrPIDtaskkill /F /PID 你的PID34.2 Linux命令netstat-ano|grep8080ps-ef|grepPIDkill-9你的PID