目录
一、系统信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| $ arch
$ uname -m
$ uname -r
$ dmidecode -q
$ hdparm -i /dev/hda
$ hdparm -tT /dev/sda
$ cat /proc/cpuinfo
$ cat /proc/interrupts
$ cat /proc/meminfo
$ cat /proc/swaps
$ cat /proc/version
$ cat /proc/net/dev
$ cat /proc/mounts
$ lspci -tv
$ lsusb -tv
|
二、时间系统日期
1 2 3 4 5 6
| $ cal 2007
$ date 041217002007.00
$ clock -w
|
三、系统的关机、重启以及登出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $ shutdown -h now
$ init 0
$ telinit 0
$ shutdown -h hours:minutes &
$ shutdown -c
$ shutdown -r now
$ reboot
$ logout
|
四、文件和目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| $ cd /home
$ cd ..
$ cd ../..
$ cd
$ cd ~user1
$ cd -
$ pwd
$ ls
$ ls -F
$ ls -l
$ ls -a
$ ls *[0-9]*
$ tree
$ lstree
$ mkdir dir1
$ mkdir dir1 dir2
$ mkdir -p /tmp/dir1/dir2
$ rm -f file1
$ rmdir dir1
$ rm -rf dir1
$ rm -rf dir1 dir2
$ mv dir1 new_dir
$ cp file1 file2
$ cp dir/* .
$ cp -a /tmp/dir1 .
$ cp -a dir1 dir2
$ ln -s file1 lnk1
$ ln file1 lnk1
$ touch -t 0712250000 file1
file file1 outputs the mime type of the file as text
|
五、文件搜索
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| $ find / -name file1
$ find / -user user1
$ find /home/user1 -name \*.bin
$ find /usr/bin -type f -atime +100
$ find /usr/bin -type f -mtime -10
$ find / -name \*.rpm -exec chmod 755 '{}' \;
$ find / -xdev -name \*.rpm
$ locate \*.ps
$ whereis halt
$ which halt
|
六、挂载一个文件系统
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| $ mount /dev/hda2 /mnt/hda2
$ umount /dev/hda2
$ fuser -km /mnt/hda2
$ umount -n /mnt/hda2
$ mount /dev/fd0 /mnt/floppy
$ mount /dev/cdrom /mnt/cdrom
$ mount /dev/hdc /mnt/cdrecorder
$ mount /dev/hdb /mnt/cdrecorder
$ mount -o loop file.iso /mnt/cdrom
$ mount -t vfat /dev/hda5 /mnt/hda5
$ mount /dev/sda1 /mnt/usbdisk
$ mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
|
七、磁盘空间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $ df -h
$ ls -lSr |more
$ du -sh dir1
$ du -sk * | sort -rn
$ rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n
#以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
$ dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n
#以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)
|
八、用户和群组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| $ groupadd group_name
$ groupdel group_name
$ groupmod -n new_group_name old_group_name
$ useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1
$ useradd user1
$ userdel -r user1
$ usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1
$ passwd
$ passwd user1
$ chage -E 2005-12-31 user1
$ pwck
$ grpck
$ newgrp group_name
|
九、文件的权限
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| 使用 "+" 设置权限,使用 "-" 用于取消
$ ls -lh
$ ls /tmp | pr -T5 -W$COLUMNS
$ chmod ugo+rwx directory1
$ chmod go-rwx directory1
$ chown user1 file1
$ chown -R user1 directory1
$ chgrp group1 file1
$ chown user1:group1 file1
$ find / -perm -u+s
$ chmod u+s /bin/file1
$ chmod u-s /bin/file1
$ chmod g+s /home/public
$ chmod g-s /home/public
$ chmod o+t /home/public
$ chmod o-t /home/public
|
十、文件的特殊属性
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| - 使用 "+" 设置权限,使用 "-" 用于取消
$ chattr +a file1
$ chattr +c file1
$ chattr +d file1
$ chattr +i file1
$ chattr +s file1
$ chattr +S file1
$ chattr +u file1
$ lsattr
|
十一、打包和压缩文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| $ bunzip2 file1.bz2
$ bzip2 file1
$ gunzip file1.gz
$ gzip file1
$ gzip -9 file1
$ rar a file1.rar test_file
$ rar a file1.rar file1 file2 dir1
$ rar x file1.rar
$ unrar x file1.rar
$ tar -cvf archive.tar file1
$ tar -cvf archive.tar file1 file2 dir1
$ tar -tf archive.tar
$ tar -xvf archive.tar
$ tar -xvf archive.tar -C /tmp
$ tar -cvfj archive.tar.bz2 dir1
$ tar -jxvf archive.tar.bz2
$ tar -cvfz archive.tar.gz dir1
$ tar -zxvf archive.tar.gz
$ zip file1.zip file1
$ zip -r file1.zip file1 file2 dir1
$ unzip file1.zip
|
十二、rpm包(Fedora, Redhat及类似系统)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| $ rpm -ivh package.rpm
$ rpm -ivh --nodeeps package.rpm
$ rpm -U package.rpm
$ rpm -F package.rpm
$ rpm -e package_name.rpm
$ rpm -qa
$ rpm -qa | grep httpd
$ rpm -qi package_name
$ rpm -qg "System Environment/Daemons"
$ rpm -ql package_name
$ rpm -qc package_name
$ rpm -q package_name --whatrequires
$ rpm -q package_name --whatprovides
$ rpm -q package_name --scripts
$ rpm -q package_name --changelog
$ rpm -qf /etc/httpd/conf/httpd.conf
$ rpm -qp package.rpm -l
$ rpm --import /media/cdrom/RPM-GPG-KEY
$ rpm --checksig package.rpm
$ rpm -qa gpg-pubkey
$ rpm -V package_name
$ rpm -Va
$ rpm -Vp package.rpm
$ rpm2cpio package.rpm | cpio --extract --make-directories *bin*
$ rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm
$ rpmbuild --rebuild package_name.src.rpm
|
十三、yum软件包管理器(Fedora, RedHat及类似系统)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| $ yum install package_name
$ yum localinstall package_name.rpm
$ yum update package_name.rpm
$ yum update package_name
$ yum remove package_name
$ yum list
$ yum search package_name
$ yum clean packages
$ yum clean headers
$ yum clean all
|
十四、DEB 包 (Debian, Ubuntu 以及类似系统)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $ dpkg -i package.deb
$ dpkg -r package_name
$ dpkg -l
$ dpkg -l | grep httpd
$ dpkg -s package_name
$ dpkg -L package_name
$ dpkg --contents package.deb
$ dpkg -S /bin/ping
|
十五、APT 软件工具 (Debian, Ubuntu 以及类似系统)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $ apt-get install package_name
$ apt-cdrom install package_name
$ apt-get update
$ apt-get upgrade
$ apt-get remove package_name
$ apt-get check
$ apt-get clean
$ apt-cache search searched-package
|
十六、查看文件内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $ cat file1
$ tac file1
$ more file1
$ less file1
$ head -2 file1
$ tail -2 file1
$ tail -f /var/log/messages
|
十七、文件处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| $ cat file1 | command( sed, grep, awk, grep, etc...) > result.txt
$
$ cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt
$
$ grep Aug /var/log/messages
$ grep ^Aug /var/log/messages
$ grep [0-9] /var/log/messages
$ grep Aug -R /var/log/*
$ sed 's/stringa1/stringa2/g' example.txt
$
$ sed '/^$/d' example.txt
$ sed '/ *#/d; /^$/d' example.txt
$ echo 'esempio' | tr '[:lower:]' '[:upper:]'
$ sed -e '1d' result.txt
$ sed -n '/stringa1/p'
$ sed -e 's/ *$//' example.txt
$ sed -e 's/stringa1//g' example.txt
$
$ sed -n '1,5p;5q' example.txt
$ sed -n '5p;5q' example.txt
$ sed -e 's/00*/0/g' example.txt
$ cat -n file1
$ cat example.txt | awk 'NR%2==1'
$ echo a b c | awk '{print $1}'
$ echo a b c | awk '{print $1,$3}'
$ 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
$ comm -2 file1 file2
$ comm -3 file1 file2
|
十八、字符设置和文件格式转换
1 2 3 4 5 6 7 8
| $ dos2unix filedos.txt fileunix.txt
$ unix2dos fileunix.txt filedos.txt
$ recode ..HTML < page.txt > page.html
$ recode -l | more
|
十九、文件系统分析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| $ badblocks -v /dev/hda1
$ fsck /dev/hda1
$ fsck.ext2 /dev/hda1
$ e2fsck /dev/hda1
$ e2fsck -j /dev/hda1
$ fsck.ext3 /dev/hda1
$ fsck.vfat /dev/hda1
$ fsck.msdos /dev/hda1
$ dosfsck /dev/hda1
|
二十、初始化一个文件系统
1 2 3 4 5 6 7 8 9 10 11 12
| $ mkfs /dev/hda1
$ mke2fs /dev/hda1
$ mke2fs -j /dev/hda1
$ mkfs -t vfat 32 -F /dev/hda1
$ fdformat -n /dev/fd0
$ mkswap /dev/hda3
|
二十一、SWAP文件系统
1 2 3 4 5 6
| $ mkswap /dev/hda3
$ swapon /dev/hda3
$ swapon /dev/hda2 /dev/hdb3
|
二十二、备份
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| $ dump -0aj -f /tmp/home0.bak /home
$ dump -1aj -f /tmp/home0.bak /home
$ restore -if /tmp/home0.bak
$ rsync -rogpav --delete /home /tmp
$ rsync -rogpav -e ssh --delete /home ip_address:/tmp
$ rsync -az -e ssh --delete ip_addr:/home/public /home/local
$ rsync -az -e ssh --delete /home/local ip_addr:/home/public
$ dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'
#通过ssh在远程主机上执行一次备份本地磁盘的操作
$ dd if=/dev/sda of=/tmp/file1
#备份磁盘内容到一个文件
$ tar -Puf backup.tar /home/user 执行一次对 '/home/user'
#目录的交互式备份操作
$ ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'
#通过ssh在远程目录中复制一个目录内容
$ ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'
#通过ssh在远程目录中复制一个本地目录
$ tar cf - . | (cd /tmp/backup ; tar xf - )
#本地将一个目录复制到另一个地方,保留原有权限及链接
$ find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents
#从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录
$ find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2
#查找所有以 '.log' 结尾的文件并做成一个bzip包
$ dd if=/dev/hda of=/dev/fd0 bs=512 count=1
#做一个将 MBR (Master Boot Record)内容复制到软盘的动作
$ dd if=/dev/fd0 of=/dev/hda bs=512 count=1
#从已经保存到软盘的备份中恢复MBR内容
|
二十三、光盘
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| $ cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
#清空一个可复写的光盘内容
$ mkisofs /dev/cdrom > cd.iso
$ mkisofs /dev/cdrom | gzip > cd_iso.gz
$ mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd
#创建一个目录的iso镜像文件
$ cdrecord -v dev=/dev/cdrom cd.iso
$ gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -
$ mount -o loop cd.iso /mnt/iso
$ cd-paranoia -B
$ cd-paranoia -- "-3"
$ cdrecord --scanbus
$ dd if=/dev/hdc | md5sum
|
二十四、网络 - (以太网和WIFI无线)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| $ ifconfig eth0
$ ifup eth0
$ ifdown eth0
$ ifconfig eth0 192.168.1.1 netmask 255.255.255.0
$ ifconfig eth0 promisc
$ dhclient eth0
$ route -n
$ route add -net 0/0 gw IP_Gateway
$ route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
$
$ route del 0/0 gw IP_gateway
$ hostname
$ host www.example.com
$ nslookup www.example.com
$ ip link show
$ mii-tool
$ ethtool
$ netstat -tupl
$ tcpdump tcp port 80
|
二十五、JPS
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。
我想很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其 id。jps 也是一样,它的作用是显示当前系统的java进程情况,及其id号。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例),和他们的进程号(为下面几个程序做准备),并可通过opt来查看这些进程的详细启动参数。
使用方法:在当前命令行下打 jps(需要JAVA_HOME,没有的话,到改程序的目录下打) 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| jps存放在JAVA_HOME/bin/jps,使用时为了方便请将JAVA_HOME/bin/加入到Path.
$> jps
23991 Jps
23789 BossMain
23651 Resin
比较常用的参数:
#-q 只显示pid,不显示class名称,jar文件名和传递给main 方法的参数
$> jps -q
28680
23789
23651
#-m 输出传递给main 方法的参数,在嵌入式jvm上可能是null
$> jps -m
28715 Jps -m
23789 BossMain
23651 Resin -socketwait 32768 -stdout /data/aoxj/resin/log/stdout.log -stderr /data/aoxj/resin/log/stderr.log
#-l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名
$> jps -l
28729 sun.tools.jps.Jps
23789 com.asiainfo.aimc.bossbi.BossMain
23651 com.caucho.server.resin.Resin
#-v 输出传递给JVM的参数
$> jps -v
23789 BossMain
28802 Jps -Denv.class.path=/data/aoxj/bossbi/twsecurity/java/trustwork140.jar:/data/aoxj/bossbi/twsecurity/java/:/data/aoxj/bossbi/twsecurity/java/twcmcc.jar:/data/aoxj/jdk15/lib/rt.jar:/data/aoxj/jd
k15/lib/tools.jar -Dapplication.home=/data/aoxj/jdk15 -Xms8m
23651 Resin -Xss1m -Dresin.home=/data/aoxj/resin -Dserver.root=/data/aoxj/resin -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -
Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderImpl
jps 192.168.0.77
#列出远程服务器192.168.0.77机器所有的jvm实例,采用rmi协议,默认连接端口为1099(前提是远程服务器提供jstatd服务)
#注:jps命令有个地方很不好,似乎只能显示当前用户的java进程,要显示其他用户的还是只能用unix/linux的ps命令。
|
*************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************
分类: Linux
https://www.cnblogs.com/lvzhenjiang/p/14214068.html