Linux常用命令大全

Linux常用命令大全
 
查看服务器的序列号
使用root用户输入命令 
[root@sky ~]#  dmidecode -t 1
# dmidecode 2.11SMBIOS 2.7 present.
 Handle 0x0100, DMI type 1, 27 bytesSystem Information   Manufacturer: Dell Inc.
       Product Name: PowerEdge R720
       Version: Not Specified
       Serial Number: FV55F22   #序列号S/N
       UUID: 4C4C4544-0056-3510-8035-C6C04F463232
       Wake-up Type: Power Switch
       SKU Number: SKU=NotProvided;ModelName=PowerEdge R720
       Family: Not Specified 
 
查看linux系统是32位还是64位
[root@sky ~]#  file /sbin/init
/sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
#32-bit即是32位的linux, 如是64位的, 显示的是 64-bit
 
查看系统型号
[root@sky ~]# head -n 1 /etc/issue
CentOS release 6.4 (Final)
 
查看服务器型号
[root@sky ~]#  dmidecode | grep 'Product Name'
Product Name: PowerEdge R620    Dell PowerEdge R620
Product Name: 0XWDCF

查看主板的序列号
[root@sky ~]# dmidecode |grep 'Serial Number'
 
查看系统序列号
[root@sky ~]#  dmidecode -s system-serial-number
19V5F22

查看内存信息
[root@sky ~]# dmidecode -t memory

查看OEM信息
[root@sky ~]# dmidecode -t 11
 
 

linux查看80端口是否被占用
[root@sky ~]# netstat -anp | grep 80 | grep LISTEN
#只能查到含有80的行
 
 指定端口号ssh远程登录
使用Linux A服务器ssh到Linux B服务器,B服务器默认关闭了root用户远程登录,并修改了默认的22号端口为2887端口。
如果要在A服务器上远程到B,使用以下命令:
[root@sky ~]# ssh 192.168.1.100 -p 2887
命令格式:ssh IP地址 -p 端口号
 
Linux不允许root用户SSH登陆
修改配置文件/etc/ssh/sshd_config,在文件中查找” PermitRootLogin “配置项
[root@sky ~]# vim /etc/ssh/sshd_config
PermitRootLogin no   <==是否允许root用户远程登录
 
Linux查看用户及用户组是否存在
[root@sky ~]# cat /etc/passwd | grep lisi      <==查看lisi用户是否存在,有反馈信息表示此用户存在
lisi:x:501:501::/home/lisi:/bin/bash

[root@sky ~]# cat /etc/group | grep lisi      <==查看lisi用户组是否存在
lisi:x:501:
 
linux强制踢出用户命令
[root@sky ~]# w     <==查看当前已经登录的用户
12:53:34 up 53 days, 20:58,  2 users,  load average: 0.08, 0.06, 0.01
USER      TTY      FROM              LOGIN@    IDLE    JCPU   PCPU  WHAT
zhangsan  pts/20   192.168.1.101     17Oct14  29days  0.12s  0.25s  sshd: zhangsan [priv]
root     pts/21    192.168.1.101     12:52     0.00s   0.06s  0.01s  w
[root@sky ~]# pkill -kill -t pts/20     #强制踢出zhangsan用户
 
删除用户或组时报错,提示userdel: user lisi is currently logged in
[root@sky ~]# userdel lisi
userdel: user jerry is currently logged in
解决方法:
[root@sky ~]# mv /var/run/utmp /var/run/utmp_old       <==将原文件改名
[root@sky ~]# touch > /var/run/utmp       <==新创建一同名文件
再次执行删除操作......成功删除用户
关于:/var/run/utmp
utmp是一个文件,除了utmp程序你不能编辑这个文件,删掉他的话,当前登陆信息都会丢失。这个文件在每次机器reboot起来后都会重新创建
 
Linux查看DNS信息
[root@sky ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114

修改文本启动界面为图形启动界面
[root@sky ~]# vi /etc/inittab
id:3:initdefault:        <== 将3改为5,重新启动系统
 
查询其他主机MAC地址
[root@sky ~]# ping -c 172.16.1.19
[root@sky ~]# arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
172.16.1.1               ether   64:12:25:c3:0e:e2   C                     eth0
172.16.1.19              ether   8c:89:a5:eb:35:42   C                     eth0

Linux 系统更新
新安装的Linux操作系统每隔一段时间都需要定期更新(相当于windows里面的打补丁),利用yum进行系统更新的方法如下:
[root@sky ~]# yum -y update
#第一次更新会有一个较长的等待时间!
[root@sky ~]# vim /etc/crontab
10 1 * * * root /usr/bin/yum -y update     #设置每天凌晨1:10分进行自动软件更新
 

系统
# uname -a #查看内核/操作系统/CPU信息
# head -n 1 /etc/issue #查看操作系统版本
# cat /proc/cpuinfo #查看CPU信息
# hostname #查看计算机名
# lspci -tv #列出所有PCI设备
# lsusb -tv #列出所有USB设备
# lsmod #列出加载的内核模块
# env #查看环境变量
资源
# free -m #查看内存使用量和交换区使用量
# df -h #查看各分区使用情况
# du -sh <目录名> #查看指定目录的大小
# grep MemTotal /proc/meminfo #查看内存总量
# grep MemFree /proc/meminfo #查看空闲内存量
# uptime #查看系统运行时间、用户数、负载
# cat /proc/loadavg #查看系统负载
磁盘和分区
# mount | column -t #查看挂接的分区状态
# fdisk -l #查看所有分区
# swapon -s #查看所有交换分区
# hdparm -i /dev/hda #查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE #查看启动时IDE设备检测状况
网络
# ifconfig #查看所有网络接口的属性
# iptables -L #查看防火墙设置
# route -n #查看路由表
# netstat -lntp #查看所有监听端口
# netstat -antp #查看所有已经建立的连接
# netstat -s #查看网络统计信息
进程
# ps -ef #查看所有进程
# top #实时显示进程状态
用户
# w #查看活动用户
# id <用户名> #查看指定用户信息
# last #查看用户登录日志
# cut -d: -f1 /etc/passwd #查看系统所有用户
# cut -d: -f1 /etc/group #查看系统所有组
# crontab -l #查看当前用户的计划任务
服务
# chkconfig --list #列出所有系统服务
# chkconfig --list | grep on #列出所有启动的系统服务
程序
# rpm -qa #查看所有安装的软件包
 
 

4种kill某个用户所有进程的方法
在Linux系统管理中,我们有时候需要kill掉某个用户的所有进程,初学者一般先查询出用户的所有pid,然后一条条kill掉,或者写好一个脚本,实际上方法都有现成的,这边有4种方法,我们以kill用户aaa为例.
1. pkill方式
# pkill -u aaa
 
2. killall方式
# killall -u aaa
 
3. ps方式
ps列出ttlsa的pid,然后依次kill掉,比较繁琐.
# ps -ef | grep aaa | awk '{ print $2 }' | sudo xargs kill -9
 
4. pgrep方式
pgrep -u参数查出用户的所有pid,然后依次kill
# pgrep -u aaa | sudo xargs kill -9
 
使用Kill杀死一个进程
[root@sky ~]# kill -s 9 3024     <==进程号
 
 
 
Linux关机
[root@sky ~]# shutdown -h now 
#立刻关机,其中now相当于时间等于0的状态
 
[root@sky ~]# shutdown -h 20:25
#系统在今天的20:25分会关机,若在21:25才执行此命令,则隔天才关机
 
[root@sky ~]# shutdown -h +10
#系统再过10分钟自动关机
 
[root@sky ~]# shutdown -r now
#系统立刻重启
 
[root@sky ~]# shutdown -r +30 'The system will reboot'
#再过30分钟系统会重启,并显示后面的消息给所有的用户
 
[root@sky ~]# shutdown -k now 'The system will reboot'
#仅发出警告信件的参数,系统不会关
 
[root@sky ~]# shutdown -c
#取消已经在进行的shutdown命令

 
切换界面执行等级
init  0  :  关机
init  3  :  纯命令行模式
init  5  :  含有图形界面模式
init  6  :  重启
[root@sky ~]# init 0 
#关机,等同于shutdown
 

Linux 计算器
[root@sky ~]# bc  
100+100
200
quit
 
查询linux历史命令
[root@sky ~]# history
 
Linux清屏命令
[root@sky ~]# clear
 
 
Linux文件权限
[root@sky ~]# ls -la
total 72
dr-xr-x---.      2      root     root     4096    Dec  27  23:35    .
dr-xr-xr-x.     25      root     root     4096    Dec  27  23:36    ..
-rw-------.      1      root     root     1396    Dec  27  23:35    anaconda-ks.cfg
-rw-r--r--.      1      root     root     18    May  20  2009     .bash_logout
-rw-r--r--.      1      root     root     176    May  20  2009     .bash_profile
-rw-r--r--.      1      root     root     176    Sep  23  2004     .bashrc
-rw-r--r--.      1      root     root     100    Sep  23  2004     .cshrc
-rw-r--r--.      1      root     root     26505   Dec  27  23:35    install.log
-rw-r--r--.      1      root     root     7572    Dec  27  23:33    install.log.syslog
-rw-r--r--.      1      root     root     129    Dec   4  2004     .tcshrc
   【权限】        【连接】【所有者】【用户组】【文件大小】    【修改日期】        【文件名】
 
-rwxr-xr--.  
   类型     所有者权限    用户组权限    其他人权限
     -              rwx               rwx                ---
d表示目录                         r可读
-表示文件                          w可写 
|表示连接文件                    x可执行
b表示可供存储的接口设备
c表示一次性读取设备
 
[root@sky ~]# chown aaa 111.txt
#将111.txt的所有者改成aaa账号
 
[root@sky ~]# chown root:root 111.txt
#将111.txt的所有者与所有组改回root

[root@sky ~]# chmod u=rwx  g=rx  o=r  111.txt
#赋予111.txt所有者可读、可写可执行权限。赋予所有组可读、可执行权限。赋予其他人可读权限
 
所有者owner=rwx=4+2+1=7
所有组group=rwx=4+2+1=7
其他人others=rwx=0=0=0=0
 
[root@sky ~]# chmod -R 770 111.txt
参数-R     递归修改子集目录所有权限
-rwxrwx---. 1 root root    0 Dec 28 00:54 111.txt

Linux目录与路径
cd        切换目录
pwd     显示当前目录
mkdir   新建一个目录
[root@sky ~]# mkdir -p text1/text2/text3     递归创建
rmdir   删除一个空目录
[root@sky ~]# rmdir  -p text1/text2/text3    递归删除
 

Linux系统常见压缩命令
文件类型 执行动作 命令
.tar
解包 tar xvf FileName.tar
打包 tar cvf FileName.tar DirName
.gz
解压1 gunzip FileName.gz
解压2 gzip -d FileName.gz
压缩 gzip FileName
.tar.gz 和 .tgz
解压 tar zxvf FileName.tar.gz
压缩 tar zcvf FileName.tar.gz DirName
.bz2
解压1 bzip2 -d FileName.bz2
解压2 bunzip2 FileName.bz2
压缩 bzip2 -z FileName
.tar.bz2
解压 tar jxvf FileName.tar.bz2
压缩 tar jcvf FileName.tar.bz2 DirName
.bz
解压1 bzip2 -d FileName.bz
解压2 bunzip2 FileName.bz
.tar.bz
解压 tar jxvf FileName.tar.bz
.Z
解压 uncompress FileName.Z
压缩 compress FileName
.tar.Z
解压 tar Zxvf FileName.tar.Z
压缩 tar Zcvf FileName.tar.Z DirName
.zip
解压 unzip FileName.zip
压缩 zip FileName.zip DirName
.rar
解压 rar x FileName.rar
压缩 rar a FileName.rar DirName
 

1.查看文件和目录
pwd 
     ■ 功能:显示当前用户所在的工作目录
     ■ 格式:pwd [-P]
     ■ 选项
-P :如果当前目录是符号链接,则显示链接到的真实物理目录。
     ■ 示例
[root@sky init.d]# pwd
/etc/init.d
[root@sky init.d]# pwd -P
/etc/rc.d/init.d

ls 
     ■ 功能:列表(List)查看目录及文件的属性信息。不带任何选项或参数时,默认显示当前目录的内容。
     ■ 格式:ls  [-aAdlihR]  [文件或目录] ·  ·  · 
     ■ 选项
➣   -a :列出所有(All)文件和子目录,包括以点”.“开头的隐藏文件或目录。
➣   -A :列出所有文件和子目录(包括隐藏文件或目录),特殊目录”.“和”..“除外 。
➣   -d :只显示目录本身(Directory)的属性信息,而不显示其中的文件或子目录。
➣   -l :以长格式(Long)显示文件或目录的详细信息。
➣   -i :显示文件的i节点编号(lnode)。
➣   -h:显示信息时使用更人性化(Huamn)的容量大小单位,如KB、MB、GB等。
➣   -R:递归显示(Recursion)指定目录下各级子目录及文件的内容。
     ■ 示例
[root@sky ~]# ls -a ~/Desktop/
.  ..  curly-00e92017a5.desktop
[root@sky ~]# ls -ld ~/Desktop/
drwxr-xr-x 2 root root 4096 10-20 21:40 /root/Desktop

cat 
     ■ 功能:通常用于显示指定文件的内容,该命令本意用于连接(Concatenate)多个文件内容。
     ■ 格式:cat [-n] [文件]...
     ■ 选项
➣   -n :显示文件内容时在每一行行首添加行号(Number) 。
➣   -b :显示文件内容时为非空白行(nonBlank)添加行号。
     ■ 示例
[root@sky ~]# cat -n /etc/resolv.conf 
     1 search sky.com
     2 nameserver 192.168.1.100
     3 nameserver 192.168.1.200
[root@sky ~]# cat /etc/sysconfig/dhcpd
# Command line options here
DHCPDARGS=

tail 
     ■ 功能:查看文件末尾指定行数(默认为10行)的内容。
     ■ 格式:tail  [-Nf]  [文件] ·  ·  · 
     ■ 选项
➣   -N :这里的N为用户指定的行数(若不指定,默认显示10行)。
➣   -f :跟踪文件中新增加(Follow)的内容,多用于观察日志文件变化等,按Ctrl+C键退出。
     ■ 示例
[root@sky ~]# tail -2 /etc/passwd
sky:x:500:500:sky:/home/sky:/bin/bash
lisi:x:501:501::/home/lisi:/bin/bash
[root@sky ~]# tail -lf /var/log/messages 
May 26 13:58:34 sky tpvmlpd2[2621]: device type not supported

head 
     ■ 功能:查看文件开头指定行数(默认为10行)的内容
     ■ 格式:head  [-N]  [文件]...
     ■ 选项
-N :这里的N为用户指定的行数(若不指定,默认显示10行)。
     ■ 示例
[root@sky ~]# head /etc/rc.sysinit 
#!/bin/bash

more 
     ■ 功能:分页显示文件内容。按Enter键可以逐行下翻,按空格键下翻一页,按b键向上翻一页;和管道符号”|“结合使用时一般只能向下翻页,按q键退出。
     ■ 格式:more  [-N]  <文件>
     ■ 选项
-N :指定每屏显示的行数。
     ■ 示例
[root@sky ~]# more /etc/inittab 
[root@sky ~]# ls lhR /etc/*.conf | more -10

less 
     ■ 功能:分页显示文件内容,与more命令的类似,但使用更加灵活。按上下箭头键前后逐行滚动查看,空格键或PageDown键向下翻页,按b键或Pageup键向上翻页,按q键退出。
     ■ 格式:less [文件]...
     ■ 示例
[root@sky ~]# less /etc/squid/squid.conf

wc 
     ■ 功能:统计文件的行数、单词数和字节数等信息(Word Count)。默认选项为”-lwc”。
     ■ 格式:wc [-clmw]  [文件]  ·  ·  · 
     ■ 选项
➣   -c :统计文件内容中的字节数。
➣  -l  : 统计文仲内容中的行数。
➣  -m: 统计文件内容中的字符数,若文件内容都是单字节字符,到等同于-c选项。
➣  -w:统计文件内容中的单词个数。
     ■ 示例
[root@sky ~]# ls -lh /etc/*.conf | wc -l
45
[root@sky ~]# wc /etc/fstab /etc/passwd
  16   84  851 /etc/fstab
  35   54 1653 /etc/passwd
  51  138 2504 总用量

file 
     ■ 功能:判断并显示文件的类型(类型与文件扩展名无必然关系)。
     ■ 格式:file <文件>...
     ■ 示例
[root@sky ~]# file /etc/fstab /etc/rc.sysinit 
/etc/fstab:      ASCII text
/etc/rc.sysinit: symbolic link to `rc.d/rc.sysinit'
[root@sky ~]# file /usr/bin/passwd 
/usr/bin/passwd: setuid ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

du 
     ■ 功能:统计每个文件或目录的磁盘使用情况(Disk Usage) 。
     ■ 格式:du  [-ash]  [文件或目录]...
     ■ 选项
➣  -a:统计指定目录下每个文件及子目录占用的磁盘空间大小。
➣  -s:只统计指定目录或文件总共(Smmary,汇总,摘要)占用的磁盘空间大小。
➣  -h:显示信息时使用更人性化的容量大小单位,如KB、MB,GB等。
➣  --apprent-size:统计文件或目录的真实大小,而不是占用的磁盘空间大小。
     ■ 示例
[root@sky ~]# du -sh /boot/
23M /boot/
[root@sky ~]# du -ah /boot/
16M /boot/initramfs-2.6.32-358.el6.x86_64.img
3.9M    /boot/vmlinuz-2.6.32-358.el6.x86_64

2.检索文件和目录
grep 
     ■ 功能:在文件中查找并显不包含指定字符串的行,查找字串可以使用正则表达式匹配、
     ■ 格式:grep  [-ivh]  <查找字串>  [文件]
     ■ 选项
➣  -i :查找内容时忽略大小写(Ignore Case) 。
➣  -v :反转查找(Invert) 即输出与查找条件不相符的行。
     ■ 示例
[root@sky ~]# rpm -qa | grep -i dhcp
dhcp-common-4.1.1-34.P1.el6.centos.x86_64
[root@sky ~]# grep -v ^# /etc/squid/squid.conf | grep -v ^$ <==去除注释及空格
[root@sky ~]# grep bash$ /etc/passwd
root:x:0:0:root:/root:/bin/bash

which 
     ■ 功能:在系统的执行路径(由PATH变量指定)中查找命令或程序文件。
     ■ 格式:which  [-a]  [命令或程序名] ·  ·  · 
     ■ 选项
-a :列出所有找到的结果,而不仅仅是第一个。
     ■ 示例
[root@sky ~]# which ifconfig
/sbin/ifconfig

whereis 
     ■ 功能:查找指定名称的二进制文件,帮助文件或源文件所在的位置。
     ■ 格式:whereis  [-bms]  [文件名] ·  ·  · 
     ■ 选项
➣  -b :只查找指定名称的二进制文件(Binary)所在的位置。
➣  -m :只查找指定名称的帮助文件(Manual)所在的位置。
➣  -s :只查找指定名称的源文件(Source)所在的位置。
     ■ 示例
[root@sky ~]# whereis vim fdisk
vim: /usr/bin/vim /usr/share/vim /usr/share/man/man1/vim.1.gz
fdisk: /sbin/fdisk /usr/share/man/man8/fdisk.8.gz
 
locate 
     ■ 功能:在预先建立的文件系统数据库中查找指定名称的文件或目录,可以使用updatedb命令建立及更新该数据库。
     ■ 格式:locate  [-i]  [文件或目录名]...
     ■ 选项
-i:查找时忽略大小写(Ignore Case)。
     ■ 示例
[root@sky ~]# locate realplay

find 
     ■ 功能:根据一定的条件在指定目录范围中递归查找需要的文件或目录。
     ■ 格式:find  <搜索目录>   <查找条件> ·  ·  · 
     ■ 选项
➣  -name:按文件名称查找,可以使用通配符。
➣  -size:按文件大小查找,可以使用KB,MB等容量单位。
➣  type:按文件类型查找,类型f,d,l,b、c分别表示普通文件,目录,链接文件,块设备文件、字符设备文件。
     ■ 示例
[root@sky ~]# find /etc -name "passwd"
/etc/pam.d/passwd
/etc/passwd
[root@sky ~]# find /boot/ -size +1024k     <==查找大于1M的文件
/boot/vmlinuz-2.6.32-358.el6.x86_64
/boot/System.map-2.6.32-358.el6.x86_64


3.管理文件和目录
cd 
     ■ 功能:更改工作目录(Change Directory) 目录。不带任何选项或参数时,默认切换到用户宿主目录。
     ■ 格式:cd  [-p]  [目录] 
     ■ 选项
-P :如果指定的目录为符号链接则切换到对应的物理(Physical)路径。
     ■ 示例
[root@sky ~]# cd /boot/grub/
[root@sky boot]# cd
[root@sky ~]# pwd
/root

mkdir 
     ■ 功能:创建新目录(Make Directories) 
     ■ 格式:mkdir  [-p]   <目录> ·  ·  · 
     ■ 选项
-p :必要时连父目录(Parent)一起创建,如果目标目录存在也不报错。
     ■ 示例
[root@sky ~]# mkdir -p /var/public.movies

touch 
     ■ 功能:更新文件的时间标记,若文件不存在则建立对应的空文件(这种方式较常用)。
     ■ 格式:touch   <文件> ·  ·  · 
     ■ 示例
[root@sky ~]# touch a.txt b.jpg c.doc

cp 
     ■ 功能:复制(Copy)文件或目录,复制源是目录或多个文件时,目标必须是目录。
     ■ 格式:cp   [-filpr]  <源文件或源目录> ·  ·  · <目标文件或目录>
     ■ 选项
➣  -f :覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制。
➣  -i :覆盖目标同名文件或目录时提醒用户确认(lnteractive,交互式)。
➣  -l:为源文件建立硬连接而不是直接复制磁盘数据块。
➣  -p:复制时保持(Preserve)源文件的权限,属主及时间截等属性不变。
➣  -r :复制目录时使用递归(Recursive)复制所有文件及子目录。
     ■ 示例
[root@sky ~]# cp -rf /boot/grub/ ./
[root@sky ~]# cp /etc/init.d/httpd ./myhttpd
[root@sky ~]# cp -l a.file b.file
[root@sky ~]# ls -il a.file b.file

mv 
     ■ 功能:移动(Move)文件或目录,可以在移动时改名。移动多个文件或目录时目标必须是目录。
     ■ 格式:mv  [-fi]  <源文件或源目录> ·  ·  · <目标文件或目录>
     ■ 选项
➣  -f :覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)移动。
➣  -i :覆盖目标同名文件或目录时提醒用户确认(interactive交互式)。
     ■ 示例
[root@sky ~]# mv a.txt sky.txt
[root@sky ~]# mv /download/tarballs /usr/src/


rm 
     ■ 功能:删除指定的文件或目录。
     ■ 格式:rm  [-fir]   <文件或目录> ·  ·  · 
     ■ 选项
➣  -f :在删除文件或目录时不进行提醒,而直接强制(Force)删除。
➣  -i :在删除文件或目录时提醒用户确认(lnteractive,交互式)。
➣  -r:删除目录时使用,递归(Recursive)删除所有文件及子目录。
     ■ 示例
[root@sky ~]# rm -rf /tmp/111.txt

ln 
     ■ 功能:为文件或目录建立链接(Link) ,硬链接不能用于目录也不能跨硬盘分区。
     ■ 格式:ln  [-sfi]   <源文件或源目录>...< 链接文件位置>
     ■ 选项
➣  -s:建立软链接即符号链接(Symbolic)文件,默认为硬链接。
➣  -f :若链接文件已存在,则直接强制(Force)覆盖。
➣  -i:在覆盖目标链接文件时提醒用户确认。
     ■ 示例
[root@sky ~]# ln -s /usr/local/httpd/bin/apachectl /usr/sbin/
[root@sky ~]# ln /etc/shadow /etc/shadow.bak

chmod 
     ■ 功能:修改文件或目录的访问权限(Change Mode) 
     ■ 格式:chmod  [-R]   <权限模式>  <文件或目录> ·  ·  · 
     ■ 选项
-R :递归修改指定目录下的所有文件子目录的权限
     ■ 示例
[root@sky ~]# chmod a+x 111.txt
[root@sky ~]# chmod ug-w,o+x runme.sh
[root@sky ~]# chmod -R 755 /usr/local/bin/

chown 
     ■ 功能:修改文件或目录的所有权,可以同时修改文件的属主,属组。
     ■ 格式:chown   [-R]   <[属主][:属组]> <文件或目录 >·  ·  · 
     ■ 选项
-R :递归修改指定目录下的所有文件,子目录的所有权
     ■ 示例
[root@sky ~]# chown ftp:root /var/ftp/pub
[root@sky ~]# chown -R mysql /var/lib/mysql/
[root@sky ~]# chown :mail /var/spool/mail/

chattr 
     ■ 功能:修改文件的i节点属性,使用lsattr命令可以查看对应的属性.
     ■ 格式:chattr   [+|-ia]   <文件> ·  ·  · 
     ■ 选项
➣  +i:将文件的i节点属性设置为不可变,即i节点锁定
➣  -i:去除设置的+i锁定标记
➣  +a : 将文件设置为只可追加内容,原有数据不能修改。
➣  -a:去除设置的+a锁定标记。
     ■ 示例
[root@sky ~]# chattr +i a.file
[root@sky ~]# lsattr a.file 
----i--------e- a.file
[root@sky ~]# rm -rf a.file 
rm: 无法删除"a.file": 不允许的操作
[root@sky ~]# chattr -i a.file 
 

4.压缩和备份管理
tar 
     ■ 功能:将文件或目录备份打包,并可通过选项调用gzip或bzip2程序将包文件进行压缩,解压。
     ■ 格式:tar    [-cCfjpPtvxz]   <包文件名>   [文件或目录]...
     ■ 选项
➣  -c :创建(Create).tar格式的包文件。
➣  -C :解包时指定释放的目标文件夹。
➣  -f :表示使用归档文件。
➣  -j:调用bzip2程序进行压缩或解压。
➣  -p :打包时保存文件及目录的权限。
➣  -P :打包时保存文件及目录的绝对路径。
➣  -t :列表查看包内的文件。
➣  -v :输出详细信息。
➣  -x :解开.tar格式的包文件。
➣  -z:调用gzip程序进行压缩或解压。
     ■ 示例:
[root@sky ~]# tar -cf ab.tar a.file b.file        <==创建包文件ab.tar
[root@sky ~]# tar -tf ab.tar        <==查看包文件中的内容
a.file b.file
[root@sky ~]# tar -zcf ab.tar.gz a.file b.file       <==创建压缩包文件ab.tar.gz
[root@sky ~]# tar -jcf ab.tar.bz2 a.file b.file      <==创建压缩包文件ab.tar.bz2
[root@sky ~]# tar -jxf ab.tar.bz2 -C /to/som/where   <==解压释放文件至指定目录

gzip 
     ■ 功能:创建.gz格式的压缩文件,使用-d选项可以进行解压缩(或使月gunzip命令)。
     ■ 格式:gzip   [-19d]   <文件或目录> ·  ·  · 
     ■ 选项
➣  -1:以最快速度优先的模式创建压缩文件。
➣  -9 :以最大压缩比优先的模式创建压缩文件。
➣  -d :解压缩gz格式的压缩文件。
     ■ 示例
[root@sky ~]# gzip -9 b.file
[root@sky ~]# gzip -d b.file.gz

v bzip2 
     ■ 功能:创建.bz2格式的压缩文件,使用-d选项可以解压缩(或使用bunzip2命令)。
     ■ 格式:bzip2  [-19d]   <文件或目录> ·  ·  · 
     ■ 选项
➣  -1:以最快速度优先的模式创建压缩文件。
➣  -9 :以最大压缩比优先的模式创建压缩文件。
➣  -d :解压缩.bz2格式的压缩文件。
     ■ 示例
[root@sky ~]# bzip2 -9 a.file
[root@sky ~]# bzip2 -d a.file.bz2

zip 
     ■ 功能:创建.zip格式的压缩文件。
     ■ 格式:zip  [-19r]  <压缩文件名>   <文件或目录> ·  ·  · 
     ■ 选项
➣  -1:以最快速度优先的模式创建压缩文件。
➣  -9 :以最大压缩比优先的模式创建压缩文件。
➣  -r :递归压缩指定目录及其下所有文件,子目录。
     ■ 示例
[root@sky ~]# zip -r /tmp/dsk.zip ~/Desktop/

unzip 
     ■ 功能:解压缩.zip格式的压缩文件。
     ■ 格式:unzip  [-d]   <压缩文件名>
     ■ 选项
-d :解压到指定的文件夹。
     ■ 示例
[root@sky ~]# unzip /tmp/dsk.zip -d /


5.管理RPM软件包
rpm 
     ■ 功能:安装,卸载及查询系统中的RPM软件包。
     ■ 格式:rpm  [-iUeqvh]   <软件名或rpm文件名> ·  ·  · 
     ■ 选项
➣  -i :安装新的RPM软件,参数要求是.rpm格式的软件包文件。
➣  -U:检查更新现有的软件。
➣  -e :  卸载指定的RPM软件包,参数要求是已安装的RPM软件包的名称。
➣  -q :查询系统内已安装的软件包相关信息,后面可以跟-l,-f、-p等子查询选项。
➣  -v :输出详细信息。
➣  -h :以“#”号标记显示安装进度百分比。
     ■ 示例
[root@sky ~]# rpm -qpi /media/cdrom/Server/lynx-2.8.5-28.1.i386.rpm
[root@sky ~]# rpm -ivh /media/cdrom/Server/lynx-2.8.5-28.1.i386.rpm
[root@sky ~]# rpm -ql lynx
[root@sky ~]# rpm -qf /usr/bin/lynx
[root@sky ~]# rpm -e lynx


6.管理Shell变量
echo 
     ■ 功能:显示指定的字符串或变量的内容,不指定任何参数时将显下一个空行。
     ■ 格式:echo  [字符串或$变量名]...
     ■ 示例
[root@sky ~]#  echo "I love computer"
I love computer
[root@sky ~]# echo $HOSTNAME
sky

export 
     ■ 功能:将局部变量导出为全局变量或取消设置,允许在命令中直接为变量赋值。
     ■ 格式:export   [-pn]  [变量名[变量值]] ·  ·  · 
     ■ 选项
➣  -p :查看当前命令环境中导出的所有全局变量。
➣  -n :取消指定变量的全局属性。
     ■ 示例
[root@sky ~]# export JAVA_HOME CLASSPATH
[root@sky ~]# export HISTSIZE=200
[root@sky ~]# export -n HISTSIZE

exit 
     ■ 功能:退出当前的Shell程序或命令环境,并返回一个退出状态数字(0为正常1为异常)。
     ■ 格式:exit [状态数字]
     ■ 示例
[root@sky ~]# exit


7.管理用户和组
useradd
     ■ 功能:添加指定的系统用户
     ■ 格式:useradd  [-degGMsu]  <用户名>
     ■ 选项
➣  -d :指定用户的宿主目录位置。
➣  -e :指定用户的账户失效时间,可使用YYY一MM一DD的日期格式。
➣  -g :指定用户的基本组名,也可以使用GID号。
➣  -G :指定用户的公共组名,也可以使用GID号。
➣  -M :不为用户建立并初始化宿主目录。
➣  -s :指定用户的登录Shell。
➣  -u :指定用户的UID号,如果该UID已经被使用,则可增加-o选项忽略掉并继续执行。
     ■ 示例
[root@sky ~]# useradd aaa
[root@sky ~]# useradd -d /opt/public/tom -e 2016-06-30 tom
[root@sky ~]# useradd -g admin -G root kylin

passwd 
     ■ 功能:设置系统用户的密码,及锁定,解锁用户账户。未指定用户名时即修改当前用户自己的密码
     ■ 格式:passwd  [-dlSu]  [用户名]
     ■ 选项
➣  -d :清空指定用户的密码仅使用用户名即可登录系统。
➣  -l :锁定用户账户。
➣  -S:查看用户账户的状态(是否被锁定) 
➣  -U:解锁用户账户。
     ■ 示例
[root@sky ~]# passwd kylin
更改用户 kylin 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@sky ~]# passwd -l kylin
锁定用户 kylin 的密码 。
passwd: 操作成功
[root@sky ~]# passwd -S kylin
kylin LK 2015-05-26 0 99999 7 -1 (密码已被锁定。)
[root@sky ~]# passwd -u kylin
解锁用户 kylin 的密码 。
passwd: 操作成功

usermod 
     ■ 功能:修改指定系统用户的信息,大部分选项与useradd命令中的作用相同
     ■ 格式:usermod  [-degGLsuU]  <用户名>
     ■ 选项
➣  -d :指定用户的宿主目录位置。
➣  -e :指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
➣  -g:指定用户的基本组名,也可以使用GID号。
➣  -G:指定用户的公共组名,也可以使用GID号。
➣  -L :锁定用户账户。
➣  -s :指定用户的登录Shell。
➣  -u :指定用户的UID号,如果该UID已经被使用则可增加-o选项忽略掉并继续执行。
➣  -U :解锁用户账户. 
     ■ 示例
[root@sky ~]# usermod -L kylin
[root@sky ~]# passwd -S kylin
kylin LK 2015-05-26 0 99999 7 -1 (密码已被锁定。)
[root@sky ~]# usermod -U kylin

userdel 
     ■ 功能:删除指定的用户账户(User Delete) 
     ■ 格式:userdel  [-r]  <用户名>
     ■ 选项
-r :删除用户后,也将该用户的宿主目录一并删除。
     ■ 示例
[root@sky ~]# userdel -r kylin

groupadd 
     ■ 功能:添加一个系统用户组(Group Add) 
     ■ 格式:groupadd  [-g]  <组名>
     ■ 选项
-g :为新建的组指定GID组标记号。
     ■ 示例
[root@sky ~]# groupadd teachers
[root@sky ~]# groupadd -g 1200 students

groupdel 
     ■ 功能:删除指定的系统用户组(Group Del) 
     ■ 格式:groupdel <组名>
     ■ 示例
[root@sky ~]# groupdel teachers

id 
     ■ 功能:输出指定用户的身份标志信息,省略用户名参数时则输出当前用户的信息。
     ■ 格式:id  [-ugn]  [用户名] 
     ■ 选项
➣  -U :只显示有效的用户(User)信息。
➣  -g:只显示有效的组(Group)信息。
➣  -n :只输出用户名称(Name)而不是数字标记。
     ■ 示例
[root@sky ~]# id
uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@sky ~]# id aaa
uid=502(aaa) gid=502(aaa) 组=502(aaa)
[root@sky ~]# id -u aaa
502

user
     ■ 功能:查看登录到当前主机中的用户(另一个命令who可同时显示终端,时间,登录地点等信息)。
     ■ 格式:user 
     ■ 示例
[root@sky ~]# users
root
[root@sky ~]# who
root     pts/0        2015-05-26 13:55 (172.16.1.22)

su 
     ■ 功能:切换为另一个用户身份(Substitute,替代的)。不指定用户名参数时默认切换为root.
     ■ 格式:su  [-l]  [目标用户名] 
     ■ 选项
-l:使用目标用户的登录Shell环境,该选项可简写为“一”
     ■ 示例
[root@sky ~]# su - aaa      <==root用户切换为普通用户不需要输入密码
[aaa@sky ~]$ su kylin       <==普通用户切换为其他用户需要提供目标用户的密码
密码:
[kylin@sky aaa]$ whoami
kylin


8.网络配置管理
ifconfig 
     ■ 功能:查看及临时设置网络接口参数
     ■ 格式:ifconfig  [网卡设备名]  [IP地址]  [down或up]
     ■ 示例
[root@sky ~]# ifconfig eth0     <==查看eth0网卡的IP地址
[root@sky ~]# ifconfig eth0 192.168.1.10/24    <==设置eth0网卡的IP地址
[root@sky ~]# ifconfig eth0 down     <==停用eth0网卡
[root@sky ~]# ifconfig eth0 up     <==激活eth0网卡

ping 
     ■ 功能:测试到目标主机的网络链接状况。
     ■ 格式:ping  [-csi]  <目标主机名或IP地址>
     ■ 选项
➣  -c :设置发送测试数据包的个数。
➣  -s:设置发送测试数据包的大小(不包括8字节的ICMP协议头) ,以字节为单位。
➣  -i:设置发送每个测试数据包的间隔时间,单位为秒。
     ■ 示例
[root@sky ~]# ping localhost
[root@sky ~]# ping -s 1024 -c 16 www.baidu.com
[root@sky ~]# ping -i 0.5 192.168.1.10

traceroute 
     ■ 功能:跟踪到目标主机的路由途径。
     ■ 格式:traceroute  <目标主机名或IP地址>
     ■ 示例
[root@sky ~]# traceroute 192.168.1.100

netstat 
     ■ 功能:查看系统的网络连接状况的统计信息(NetworkStatistics) 
     ■ 格式:netstat [-anptur]
     ■ 选项
➣  -a :显示当前所有的网络连接信息。
➣  -n :使用数字形式表示地址,端口等信息。
➣  -p :同时显示和每个网络连接关联的进程信息(进程名、PID) 
➣  -t :显示TCP协议相关的网络连接信息。
➣  -u :显示UDP协议相关的网络连接信息。
➣  -r :查看系统的路由表信息。
     ■ 示例
[root@sky ~]# netstat -anpt | grep :3306
[root@sky ~]# netstat -rn | grep UG
0.0.0.0         172.16.1.1      0.0.0.0         UG        0 0          0 eth0






原文地址:https://www.cnblogs.com/hello-sky/p/4531547.html