# 常用Linux Shell指令
## stat [filename]
显示指定文件的详细信息,比ls更详细
## top
动态显示当前耗费资源最多进程信息
## ps
显示瞬间进程状态 ps -aux
## du
查看目录大小 du -h /home带有单位显示目录信息
## df
查看磁盘大小 df -h 带有单位显示磁盘信息
## man
命令不会用了,找男人 如:man ls
## shutdown
* -r 关机重启
* -h 关机不重启
* now 立刻关机
## halt
关机
## reboot
重启
## |
将一个命令的**标准输出**作为另一个命令的**标准输入**。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。
* grep -r "close" /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。
## tar
* tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
* tar -zxvf /home/abc.tar.gz 用gzip解壓縮
## chown
* sudo chown \[-R\] owner\[:group\] {File|Directory}
* sudo chown root:root jdk-7u21-linux-i586.tar.gz : 以jdk-7u21-linux-i586.tar.gz为例。切換用户root,组root
## iptables -L 查看防火墙设置
## route -n 查看路由表
## netstat
* netstat -lntp 查看所有监听端口
* netstat -antp 查看所有已经建立的连接
* netstat -s 查看网络统计信息进程
## crontab -l
查看当前用户的计划任务服务
## chkconfig –list
列出所有系统服务
## 文件基本權限
| R| W | X |
| -------- | -------- | -------- |
| 讀 | 寫 | 可執行 |
| 4|2 |1|
jdk-7u21-linux-i586.tar.gz文件的权限为-rw-rw-r--
#### -rw-rw-r--一共十个字符,分成四段。
* 第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录
* 第二三四个字符“rw-”表示**当前所属用户**的权限。所以用数值表示为4+2=6
* 第五六七个字符“rw-”表示**当前所属组**的权限。所以用数值表示为4+2=6
* 第八九十个字符“r--”表示**其他用户**权限。所以用数值表示为2
所以操作此文件的权限用数值表示为662
例如:有一个文件filename,权限为“-rw-r----x” ,将权限值改为"-rwxrw-r-x",用数值表示为765
* sudo chmod u+x g+w o+r filename
上面的例子可以用数值表示
* sudo chmod 765 filename
## Redirect stderr to stdout (`&1`), and then redirect stdout to a file:
```
command >out 2>&1
e.g. ls /usr/share/doc >out.txt 2>&1
```
## #!/bin/bash的作用 ?
#!/bin/bash是shell指令碼的第一行,稱為釋伴(shebang)行。
這裏#符號叫做hash,而! 叫做 bang。它的意思是命令通過 /bin/bash 來執行。
## 如何讓 shell 就指令碼得到來自終端的輸入?
read命令可以讀取來自終端(使用鍵盤)的資料。read命令得到使用者的輸入並置於你給出的變數中。例子如下:
```
# vi /tmp/test.sh
#!/bin/bash
echo ‘Please enter your name’
read name
echo 「My Name is $name」
# ./test.sh
Please enter your name LinuxTechi
My Name is LinuxTechi
```
## 如何執行算術運算 ?
兩種方法來執行算術運算:
1. 使用expr命令(# expr 5 + 2)
2. 用一個\$[表示式] 例如: test=\$\[16 + 4\]
## 在shell指令碼如何定義函式呢 ?
式是擁有名字的程式碼塊。當我們定義程式碼塊,我們就可以在我們的指令碼呼叫函式名字,該塊就會被執行。
```
$ diskusage () { df -h ; }
```
Reference:
https://www.cnblogs.com/ccy1106/p/6637661.html
https://itw01.com/VW7XEFX.html