Linux常用命令
Linux命令分类
文件传输
bye、ftp、ftpcount、ftpshut、ftpwho、ncftp、tftp、uucico、uucp、uupick、uuto、scp
备份压缩
ar、bunzip2、bzip2、bzip2recover、compress、cpio、dump、gunzip、gzexe、gzip、lha、restore、tar、unarj、unzip、zip、zipinfo
文件管理
diff、diffstat、file、find、git、gitview、ln、locate、lsattr、mattrib、mc、mcopy、mdel、mdir、mktemp、mmove、mread、mren、mshowfat、mtools、mtoolstest、mv、od、paste、patch、rcp、rhmask、rm、slocate、split、tee、tmpwatch、touch、umask、whereis、which、cat、chattr、chgrp、chmod、chown、cksum、cmp、cp、cut、indent
磁盘管理
cd、df、dirs、du、edquota、eject、lndir、ls、mcd、mdeltree、mdu、mkdir、mlabel、mmd、mmount、mrd、mzip、pwd、quota、quotacheck、quotaoff、quotaon、repquota、rmdir、rmt、stat、tree、umount
磁盘维护
badblocks、cfdisk、dd、e2fsck、ext2ed、fdisk、fsck.ext2、fsck、fsck.minix、fsconf、hdparm、losetup、mbadblocks、mformat、mkbootdisk、mkdosfs、mke2fs、mkfs.ext2、mkfs、mkfs.minix、mkfs.msdos、mkinitrd、mkisofs、mkswap、mpartition、sfdisk、swapoff、swapon、symlinks、sync
系统设置
alias、apmd、aumix、bind、chkconfig、chroot、clock、crontab、declare、depmod、dircolors、dmesg、enable、eval、export、fbset、grpconv、grpunconv、hwclock、insmod、kbdconfig、lilo、liloconfig、lsmod、minfo、mkkickstart、modinfo、modprobe、mouseconfig、ntsysv、passwd、pwconv、pwunconv、rdate、resize、rmmod、rpm、set、setconsole、setenv、setup、sndconfig、SVGAText Mode、timeconfig、ulimit、unalias、unset
系统管理
adduser、chfn、chsh、date、exit、finger、free、fwhois、gitps、groupdel、groupmod、halt、id、kill、last、lastb、login、logname、logout、logrotate、newgrp、nice、procinfo、ps、pstree、reboot、renice、rlogin、rsh、rwho、screen、shutdown、sliplogin、su、sudo、suspend、swatch、tload、top、uname、useradd、userconf、userdel、usermod、vlock、w、who、whoami、whois
文本处理
awk、col、colrm、comm、csplit、ed、egrep、ex、fgrep、fmt、fold、grep、ispell、jed、joe、join、look、mtype、pico、rgrep、sed、sort、spell、tr、uniq、vi、wc
网络通讯
dip、getty、mingetty、ppp-off、smbd(samba daemon)、telnet、uulog、uustat、uux、cu、dnsconf、efax、httpd、ifconfig、mesg、minicom、nc、netconf、netconfig、netstat、ping、pppstats、samba、setserial、shapecfg(shaper configuration)、smbd(samba daemon)、statserial(status ofserial port)、talk、tcpdump、testparm(test parameter)、traceroute、tty(teletypewriter)、uuname、wall(write all)、write、ytalk、arpwatch、apachectl、smbclient(samba client)、pppsetup
设备管理
dumpkeys、loadkeys、MAKEDEV、rdev、setleds
电子邮件与新闻组
archive、ctlinnd、elm、getlist、inncheck、mail、mailconf、mailq、messages、metamail、mutt、nntpget、pine、slrn、X WINDOWS SYSTEM、reconfig、startx(start X Window)、Xconfigurator、XF86Setup、xlsatoms、xlsclients、xlsfonts
常用命令
find 查找文件
- 当前目录搜索所有文件,文件内容 包含 “140.206.111.111” 的内容
find . -type f -name “*” | xargs grep “140.206.111.111” - 列出当前目录及子目录下所有文件和文件夹
find . - 在/home目录下查找以.txt结尾的文件名
find /home -name “*.txt” - 当前目录及子目录下查找所有以.txt和.pdf结尾的文件
find . ( -name “.txt" -o -name ".pdf” ) 或 find . -name “.txt" -o -name ".pdf” - 找出/home下不是以.txt结尾的文件
find /home ! -name “*.txt” - 根据文件类型进行搜索
find . -type 类型参数
类型参数列表:
f -普通文件 l -符号连接 d -目录 c -字符设备 b -块设备 s -套接字 p -Fifo - 根据文件时间戳进行搜索
find . -type f 时间戳 - 搜索超过七天内被访问过的所有文件
find . -type f -atime +7 - 搜索访问时间超过10分钟的所有文件
find . -type f -amin +10
cd 切换目录
- 进入用户主目录;
cd - 进入用户主目录;
cd ~ - 返回进入此目录之前所在的目录;
cd - - 返回上级目录(若当前目录为“/“,则执行完后还在“/";"…"为上级目录的意思);
cd … - 返回上两级目录;
cd …/… - 把上个命令的参数作为cd参数使用。
cd !$
hostname
- 显示主机名
hostname
pwd
- 显示当前所在目录
pwd
uname
- 显示系统全部信息
uname -a - 常用参数
-a或–all 显示全部的信息。
-m或–machine 显示电脑类型。
-n或-nodename 显示在网络上的主机名称。
-r或–release 显示操作系统的发行编号。
-s或–sysname 显示操作系统名称。
-v 显示操作系统的版本。
--help 显示帮助。
--version 显示版本信息。
which
- 查找命令对应的绝对地址
which uname,which find,which mysql等
rpm
- 系统中安装了那些rpm软件包,列出所有安装过的包
rpm -qa - 查找所有安装过的包含某个字符串mysql的软件包
rpm -qa | grep mysql - 一个rpm包中的文件安装到那里去了?
rpm -ql 包名 - 卸载rpm软件包
rpm -e 包名(不带.rpm后缀) - 强制卸载rpm软件
rpm -e --nodeps 包名 - 如何安装rpm软件包
rpm软件包的安装可以使用程序rpm来完成。执行的命令:rpm -ivh 包.rpm
其中包.rpm是你要安装的rpm包的文件名,一般置于当前目录下。
安装过程中可能出现下面的警告或者提示:
… conflict with …
可能是要安装的包里有一些文件可能会覆盖现有的文件,缺省时这样的情况下是无法正确安装的可以用rpm --force -i强制安装即可
… is needed by …
… is not installed …
此包需要的一些软件你没有安装可以用rpm --nodeps -i来忽略此信息,也就是说rpm -i --force --nodeps可以忽略所有依赖关系和文件问题,什么包都能安装上,但这种强制安装的软件包不能保证完全发挥功能。
解压缩
我用最多的目前是 tar -zxvf 压缩包名
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
-
zip格式
压缩: zip -r [目标文件名].zip [原文件/目录名]
解压: unzip [原文件名].zip
注:-r参数代表递归 -
tar格式(该格式仅仅打包,不压缩)
打包:tar -cvf [目标文件名].tar [原文件名/目录名]
解包:tar -xvf [原文件名].tar
注:c参数代表create(创建),x参数代表extract(解包),v参数代表verbose(详细信息),f参数代表filename(文件名),所以f后必须接文件名。 -
tar.gz格式
方式一:利用前面已经打包好的tar文件,直接用压缩命令。
压缩:gzip [原文件名].tar
解压:gunzip [原文件名].tar.gz
方式二:一次性打包并压缩、解压并解包
打包并压缩: tar -zcvf [目标文件名].tar.gz [原文件名/目录名]
解压并解包: tar -zxvf [原文件名].tar.gz
注:z代表用gzip算法来压缩/解压。 -
jar格式
压缩:jar -cvf [目标文件名].jar [原文件名/目录名]
解压:jar -xvf [原文件名].jar
注:如果是打包的是Java类库,并且该类库中存在主类,那么需要写一个META-INF/MANIFEST.MF配置文件,内容如下:
Manifest-Version: 1.0
Created-By: 1.6.0_27 (Sun Microsystems Inc.)
Main-class: the_name_of_the_main_class_should_be_put_here
然后用如下命令打包:
jar -cvfm [目标文件名].jar META-INF/MANIFEST.MF [原文件名/目录名]
这样以后就能用“java -jar [文件名].jar”命令直接运行主类中的public static void main方法了。 -
7z格式
压缩:7z a [目标文件名].7z [原文件名/目录名]
解压:7z x [原文件名].7z
注:这个7z解压命令支持rar格式,即:
7z x [原文件名].rar -
tar.bz2格式
方式一:利用已经打包好的tar文件,直接执行压缩命令:
压缩:bzip2 [原文件名].tar
解压:bunzip2 [原文件名].tar.bz2
方式二:一次性打包并压缩、解压并解包
打包并压缩: tar -jcvf [目标文件名].tar.bz2 [原文件名/目录名]
解压并解包: tar -jxvf [原文件名].tar.bz2
注:小写j代表用bzip2算法来压缩/解压。 -
tar.xz格式
方式一:利用已经打包好的tar文件,直接用压缩命令:
压缩:xz [原文件名].tar
解压:unxz [原文件名].tar.xz
方式二:一次性打包并压缩、解压并解包
打包并压缩: tar -Jcvf [目标文件名].tar.xz [原文件名/目录名]
解压并解包: tar -Jxvf [原文件名].tar.xz
注:大写J代表用xz算法来压缩/解压。
tail
- 显示文件file的最后10行
tail file - 显示文件file的内容,从第20行至文件末尾
tail -n +20 file - 显示文件file的最后10个字符
tail -c 10 file - 显示 mail.log 最后的 25 行
tail -25 mail.log - 等同于–follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止
tail -f mail.log - 等同于–follow=name --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪
tail -F mail.log - 查看压缩包日志
zcat 文件名(支持正则) | grep --binary-files=text ‘大致条件’ -C 条数 |grep ‘更细致条件’
zcat demo-log-2018-06-*.zip|grep --binary-files=text ‘Exception’ -C 10 |grep ‘id=13’
慢慢持续更新!