当前位置: 首页 > 后端技术 > Python

日常工作必备的常用linux命令分类

时间:2023-03-26 15:19:25 Python

前言Linux基本命令整理,不包括基本命令命令的shell部分shell(命令解释器)自带的命令称为内部命令,其他的是外部命令。内部命令使用helphelp:helpcd外部命令usehelphelp:ls--helptype命令:用来区分是内部命令还是外部命令:#typelsls别名为`ls--color=auto'#外部命令#typecdcd是shellbuiltin#internalcommandpwd命令:显示当前目录ls命令:查看目录和文件名ls-l查看目录中各个字段的含义第一个字段:第一个字母代表文件类型,其中“-”为普通文件,“d”为目录文件,“c”为字符设备文件,“b”为块设备文件,“p”为管道文件,“l”为链接文件,“s”是套接字文件。“rwx”分别代表读、写、执行权限,“-”代表无对应权限。三个“rwx”依次代表文件所有者、文件所有者的用户组、其他用户对该文件的权限。第二个字段:文件的硬链接数第三个字段:文件拥有者第四个字段:文件拥有者所在的组第五个字段:文件大小(以字节为单位)第六个字段:最后修改时间file第七个字段:文件名(如果是链接文件,会追加链接到的原文件的路径)ls命令其他参数含义:-a显示隐藏文件(.开头的文件)-r倒序排序-t按时间顺序显示-R递归显示ls-lartR:按时间倒序显示所有文件及其文件夹cd命令:改变当前工作目录cd/path/...绝对路径cd./path/...相对路径(./可省略)cd../path/...相对路径mkdir命令:创建目录mkdir-p递归目录:递归创建目录rmdir命令:删除目录rmdira/b/c/d/e/#删除空目录rm-ra/b/c/d/#递归删除目录,但系统会多次询问rm-rfa/b/c/d/#删除目录不做任何查询cp命令:复制文件和目录-r复制目录-p保留用户,文件属性例如权限和时间mv命令:移动文件并重命名mv*.log目标目录通配符:*匹配任何字符串?匹配一个字符串[xyz]任意字符串[a-z]匹配一个范围cat命令:文本内容显示到终端head命令:查看文件的开头head-3文件名#显示文件的前3行tail命令:查看文件结尾tail-3文件名#显示文件最后3行tail常用参数-f,文件内容更新后,同步显示更新后的文件信息tail-f文件名wc命令:统计文件内容信息wc文件名压缩解压tar打包命令(只有打包功能,没有压缩功能)压缩命令有gzip和bzip2,bzip2压缩后文件较小,但速度比较慢输入文件tarcf./etc-backup.tar/etctarczf./etc-backup.tar.gz/etctarcjf./etc-backup.tar.bz2/etctarxf./etc-backup.tartarxzf./etc-backup.tar.gztarxjf./etc-backup.tar.bz2vi命令vi命令的三种模式命令模式:c命令模式为vimopenfile默认进入该模式后,可以快速定位文件并处理文件插入模式:编辑文件行模式:保存文件并退出命令模式操作:输入i键:在光标当前位置输入输入i键:在光标当前位置输入行首输入输入a键:inputatthecurrentnextcharacterpositionofcursorinputinputA键:光标输入当前行行尾的位置,输入o键:光标当前行新建空白行位置inputinputO键:光标当前行新建空行位置输入hjkl:方向键盘,上下左右移动光标,注意终端的上下左右键可能出现乱码yy:复制当前行p:粘贴复制的内容3yy:复制当前行开头的连续3行y$:复制光标当前位置到光标当前行末尾dd:剪切当前d$行:将光标从当前位置剪切到t的末尾helineu:undokeyctrl+r:redokeyboardG:光标快速切换到哪一行例如:11G光标会切换到第11行^:光标会快速切换到当前行的行首$:光标会快速切换到当前行的行尾结束行模式操作::wsave:qexit编辑:wq保存退出编辑:q!no保存退出/待查找内容:全局查找内容,下一个查找内容位置n,最后查找内容位置n:s/原内容/替换内容:只在当前行内容替换生效:%s/原内容/待替换内容/g:所有内容将被替换生效:11,15s/原内容/待替换内容:第11,15行内容替换生效:setnu设置显示行号:setnonu设置不显示行号配置/etc/virc设置默认使用vi命令显示行号:1.vi/etc/virc2.添加:在文件最后一行设置nu并保存退出用户管理和组管理useradd命令:新建用户useradduseruserdel命令:删除用户userdelusername用户家目录不会被删除userdel-rusername用户相关配置将被删除passwd命令:修改用户密码passwd用户名usermod命令:修改用户属性/etc/passwd文件:查看用户文件尾部/etc/passwd/etc/shadow文件:查看用户密码尾部/etc/shadowgroupadd命令:添加用户组groupaddusergroupgroupdel命令:删除用户组groupdel用户组userswitchsu用户名切换用户,但是用户环境不变,即pwd路径不会改变su-用户名切换用户,会切换到同时用户家目录,即/home/用户名sudo命令:普通用户需要以root用户权限用户和用户组执行解决方案配置文件介绍/etc/passwd文件/etc/shadow1,账户名2,加密后的密码,如果本栏第一个字符是!或者*,表示这是一个无法登录的账户,从上面的Out可以看出,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:修改其他用户权限+:添加权限-:减少权限=:设置权限chmodu+raaa.log#给属于aaa.log文件的用户添加读取权限,数字添加Permissionschmod666aaa.log#设置aaa.log文件的读写权限。需要注意的是,root用户的权限不会受到任何影响。组名文件名网络配置命令配置ip地址eth0表示第一块网卡,网卡的名字也可以是eno1(板载网卡)、ens33(PEC-E网卡)、enp0s3(无线PEC-E网卡))ifconfiginterfaceipaddress[netmasksubnetmask]#配置IP地址ifupinterface#打开网卡ifdowninterface#关闭网卡addgatewayrouteadddefaultgwgatewayiprouteadd-hostspecifyipgwgatewayiprouteadd-net网段netmask子网掩码gwgatewayip案例:routeadd-net192.168.0.0netmask255.255.255.0gw1??0.1.1.1查看网络ping命令#检查网络是否连通traceroute命令#网络不好的时候,分析是哪部分网络有问题problemmtcommandr#网络不好的时候分析是哪部分网络有问题。nslookup命令根据域名解析获取ip网络。网络ok后,分析服务telnet域名端口(端口关闭Connectionrefused,端口打开Connectedto...)tcpdump命令#抓取网卡的传输数据(即抓包功能packets)netstat命令#查看本地网络服务hostname命令#查看和修改主机名hostname新主机名(注意修改/etc/hosts文件配置127.0.0.1主机名)配置网卡信息网卡文件位置:/etc/sysconfig/network-scripts/ifcfg-eth0ONBOOT=yes开机自启动配置BOOTPROTO=dhcp动态获取ip地址软件包管理包管理器是方便软件安装、卸载、解决软件依赖的重要工具。Centos和Redhat使用yum包管理器,软件安装包格式为rpmdebian,ubuntu使用apt包管理器,软件安装包格式为debrpm包,命令rpm包格式:-q查询包rpm-q安装包名(不需要全名)#query单个包rpm-qa#查询所有安装包-iinstallpackagerpm-i包全名-euninstallpackagerpm-einstall包名(不需要全名)yuminstallpackagerpminstallpackage经常会出现依赖找不到package,依赖的安装包需要手动解析,比较麻烦。这时候使用yum安装比较合适,它可以自动解析依赖的软件包。installpackagenameyumremovepackagenameyumlistviewinstalledpackageyumupdatepackagenamesourcecode安装软件有时候我们需要安装最新版本的软件,这时候yum库可能没有最新版本,需要手动编译软件从源码安装软件,自己编译源码时需要解决各种依赖Step1:./configure--prefix=/usr/local/softwarenameStep2:make(有时会看到gmake-j2,gmake指的是跨平台安装,-j2指的是用两个cpu编译,加快编译速度)第三步:makeinstall(把软件安装到--prefix指定的目录下,好处是删除软件可以删除整个包随时删除,否则需要删除/usr/bin等各种目录下的一堆文件)进程管理查看命令ps-ef#查看进程pstree#查看进程树top命令:在top下按1到view每个块cpu(多核情况下)资源使用;top-pprocessid#查看单独进程的资源使用情况调整进程优先级nice范围从-20到19,值越小,优先级越高,抢占的资源越多nice-n10脚本名reniceresetthe运行程序的优先级renice-n15processidprocessjobcontrol&symbol,让进程在后台运行jobs查看后台运行根据jobs第一列的结果fg[序列号],进程可以将后台进程移到前台kill命令:kill-l#列出所有与进程相关的信号类型ctrl+c#通知前台进程terminatetheprocesskill-9processid#立即结束进程。nohup和&符号配合,使进程在退出终端后继续运行。守护进程是指系统自动启动的相关进程。可以通过/proc/processid/目录查看进程的详细信息,也可以通过/var/log目录下的日志文件查看更多进程运行信息,messages系统日志信息,secure日志信息,cron定时任务信息screen可以让进程在断网的情况下恢复后继续执行进程管理工具service(配置文件路径/etc/init.d)和systemctl(evolvedversionofservice)内存和磁盘管理top命令查看剩余memory检查freememory,不是buffers,因为有些程序比如jar程序会占用大量内存作为缓存,可以通过命令释放这部分缓存;当程序开始使用Swap时,你要考虑内存是否足够。当内存不足时,系统会随机杀掉占用内存大的进程,导致不可控;free命令free-m#以M为单位查看内存。注意,如果使用free-g查看内存,会发现内存太小了。系统会在显示时删除不足的g内存。查看磁盘查询系统整体磁盘使用情况df-h查询指定目录的磁盘使用情况du-h/directory#默认为当前目录-s指定目录占用大小汇总-h带度量单位-a包含文件--max-depth=1子目录深度-c列出详细信息,并将汇总值增加一块硬盘步骤:1.添加硬盘2.分区fdisk:fdisk/dev/sdb(假设新磁盘名称是sdb)3.格式化mkfs:mkfs-text4/dev/sdb14。挂载目录:创建一个/目录,挂载newdisk,mount/dev/sdb1/newdisk5,设置可以永久挂载:修改/etc/fstab文件