Linux常用命令
Linux命令格式
格式:命令 [选项] [参数]
例如:
#ls     -list     显示目录下内容
命令操作的对象(文件、目录、用户、进程)
Linux中以”.”开头的文件是隐藏文件
提示符:[root@localhost src]#
[当前登录用户@主机名 当前所在目录]#
超级用户
$ 普通用户
当前所在目录: 用户家目录
管理员 /root
普通用户 /home/用户名
tips:
ctrl + c 强制终止
ctrl+l 清屏
ctrl+u 光标删除到行首
ctrl+a 光标移动到行首
ctrl+e 光标移动到行尾
目录操作命令
切换所在目录
cd
例:
cd  /usr/local/src
cd   ~    或cd          进入当前用户的家目录
cd  -        进入上次目录
cd  ..        进入上一级目录
cd  .        进入当前目录
显示当前所在目录
pwd
建立目录
mkdir
例:
mkdir      -p  11/22/33/44        递归建立目录
删除目录
rmdir    目录        只能删除空目录
rm    文件名        删除文件
rm    -rf    目录        删除文件和目录
        -f    强制
        -r    递归、删除目录
显示指定目录下的所有内容的目录树
tree 目录名
例:
tree    /var/
文件操作命令
创建空文件或修改文件时间
touch  文件名
删除
rm  –rf  文件名
        -f    强制
        -r    删除目录
查看文件内容
cat    文件名        (从头到尾)
        -n    列出行号
more    文件名        (分屏显示文件内容)
空格向下翻        b  向上翻        q  退出
head    文件名        (显示文件头几行)
    head  –n  行数    文件名    指定显示文件头几行
    head  -20  文件名
链接文件
ln  -s  源文件   目标文件        (文件名都必须写绝对路径)
链接文件相当于windows中的快捷方式,链接文件和源文件修改一个两个都变,删除原文件,软链接打不开。
文件和目录都能操作的命令
删除文件或目录
rm
复制
cp  源文件   目标文件
        -r    复制目录
        -p    带文件属性复制
        -d    若源文件为链接文件,则复制链接属性
        -a    相当于  -pdr
例:
cp   aa  /tmp/            原名复制
cp  aa  /tmp/bb            改名复制
剪切或改名
mv    源文件   目标位置
剪切目录不需要加“-r”选项(特殊)
例:
mv  /root/aa  /tmp/    剪切
mv  aa  bb            改名
权限管理
权限位
-rw-r--r--   1   root root     0 08-11 01:45 aa
权限位是十位
第一位:代表文件类型
- 普通文件
d 目录文件
f 链接文件
常见的文件类型就有以上3种,Linux和Unix系统中共有7种文件类型,分别有
    -    Block        块设备文件,如某个磁盘分区,软驱和光驱等。
    -    Char        字符设备,如键盘、打印机等。
    -    Dir        目录类型,目录也是文件的一种。
    -    Fifo        命名管道,常用于将信息从一个进程传递到另一个进程。
    -    File        普通文件。
    -    Link        符号链接文件,即指向文件指针的指针。
    -    Unknown    未知类型
其他九位:属主权限u        属主权限g        其他人权限o
    -    r    读        4
    -    w    写        2
    -    x    执行        1
修改权限
chmod
格式:chmod {u,g,o }{+,-,=}{w,r,x} 文件名或目录
例:
chmod  u+x  aa
chmod u-x  aa
chmod  g+w,o-r   aa
chmod  u=rwx  aa
chmod  755  aa
chmod  644  aa
权限对于文件和目录的意义
对于文件的意义
- r:读取文件的内容。cat、more、head、tail
 - w:编辑、修改文件内容。vi、echo
 - x:可执行
 
对于目录的意义
- r:可以查询目录下的文件名。ls
 - w:具有修改目录结构的权限。比如新建文件和目录,删除此目录下文件和目录,剪切等操作。touch、mv、cp
 - x:可以进入目录 。 cd
 
对于目录来说,r和x权限一般是一起给的,及对于目录的权限一般至少会给到6.
更改文件或目录的属主和属组命令
chown
格式:chown 用户名 文件名
例
chown user1  aa
chown  user1:user1   aa    (更改属主的同时改变属主)
帮助命令
查找命令的的帮助
man  命令名
查看常见的选项
命令  --help
Tips:Linux中通配符和正则的使用原则:
在搜索目录或者文件名时Linux使用的是通配符,如find.
Find: 在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配
通配符是完全匹配在搜索文件中的内容是,Linux使用的事正则表达式,如grep.
Grep: 在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式匹配
正则表达是包含匹配
查找命令
查找命令的命令,同时查看帮助文档的位置
whereis
格式:whereis   命令
搜索命令
find
格式:find   查找位置   -name   文件名
例
find /   -name   aabbcc    
        -user   用户名        按属主用户查找文件
        -group   组名        按属组组名查找文件
        -nouser            查找没有属主的文件
按照文件属性查找:
        -name            按照文件名
        -size                 文件大小。+50k:大于50k,-50k:小雨50k,50k:等于50k    (可用的单位有k,M)
        -type                文件类型。(f:普通文件,l:链接文件,d目录文件)
        -perm    644        按文件的权限值查找。
        -iname            文件名查找,不区分大小写
        -inum                按照文件i节点查找
在查找出的结果中,直接进行命令操作。
find  /var/log/   -mtime   +10  -exec   rm  -rf  {}  \;    查找出十天前修改的文件名删除
find   /root  -inum   112033   -exec  ls   -l   {}  \;    用文件i节点查找到文件并且显示文件的长格式。
查找文件中的字符串
grep
原理:先把命令操作的结果存在文件中,然后后面的命令去操作文件
格式:grep  “字符串”   文件名
例:
grep  -i  “root” /etc/passwd
        -i    忽略大小写
        -v    反向选择
比较:
find:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配。通配符是完全匹配。
grep:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式匹配,正则表达式是包含匹配
管道符
命令1  |  命令2  |   命令3        命令1的执行结果,作为命令2执行的执行条件,以此类推。
例:
netstat   -an  |  grep  ESTABLISHED  |  wc  -l    统计正在连接的网络连接的个数
cat  文件名  |  grep  “字符串”      提取含有字符串的行
ls  -l  /etc  |  more         分屏显示ls内容
ll  /etc、  |  grep  my
压缩和解压缩
Linux中常见的压缩包格式
.gz bz2 Linux可以识别的常见压缩格式
.tar.gz .tar.bz2 常见的压缩和打包命令
压缩打包命令
- 压缩同时打包
tar -zcvf 压缩文件名 源文件 tar -zcvf aa.tar.gz aa -z:识别.gz格式 -c:压缩 -v:显示压缩过程 -f:指定压缩包名 - 解压缩同时解打包
tar -zxvf 压缩文件名 -x: 解压缩 - 压缩同时打包
tar -jcvf 压缩文件名 源文件 -j:识别.tar.gz2文件格式 - 解打包同时解压缩
tar -jxvf aa.tar.bz2 - 查看不解包
tar -ztvf aa.tar.gz tar -jtvf aa.tar.bz2 -t: 只查看,不解压 - 解压到指定压缩位置
tar -jxvf root.tar.bz2 -C /tmp/ (-C一定要写在后边) 
关闭和重启命令
shutdown        没有特殊情况建议使用此命令来关机
shutdown  -h  now    立刻关机
    -h    关机
    -r     重启
reboot 重启命令
挂载命令
Linux下所有的存储设备都必须挂载使用,包括硬盘
- 挂载
```
mount
设备文件:
/dev/sda1 第一个SCSI硬盘的第一个分区
/dev/cdrom 光盘(链接)
/dev/hdc 光盘 CentOS 5.5
/dev/sr0 光盘 CentOS6.x
mount -t 文件系统 设备描述文件 挂载点(已经存在的空目录)
mount -t iso9660 /dev/cdrom /mnt/cdrom(-t iso9660也可省略)
mount /dev/cdrom /mnt/cdrom 
fdisk  -l        列出指定的外围设备的分区表状况
mount  -t  vfat  /dev/sdb1  /mnt/usb
- 卸载
umount
umount    /dev/cdrom
umount   /mnt/cdrom
强调:退出挂载目录,才能卸载
## 网络命令
ping测试网络连通性
ping -c 次数 ip (测试网络的通畅)
ifconfig        查询本机网络信息
>    -a    列出所有的网卡信息(包括没启动的)
## 输出重定向和多命令顺序执行
输出重定向 把应该输出到屏幕的输出,重定向到文件。
覆盖
追加
ls > aa 覆盖到aa
ls >> aa 追加到aa
ls gdlslga 2>>aa 错误信息输出到aa
强调:错误输出,不能有空格
错误信息重定向
ls  >>  aa  2>&1        错误和正确都输入到aa,可以追加
        2>&1        把标准错误重定向到标准正确输出
ls >> aa 2>>/tmp/bb 正确信息输入aa,错误信息输入bb
## 补充命令
date  查看系统时间
date         
date    -s   20140701        设定日期
date    -s    09:30:00        设定时间
du统计目录大小
    -sh    目录名        统计目录大小
    -s        和
    -h        习惯单位
netstat  
netstat          查看网络状态的命令
    -t    查看TCP端口
    -u    查看UDP端口
    -l    监听
    -n    以IP地址和端口号显示,不用域名和服务名显示
    -a    查询所有连接
例
netstat  -tlun