UNIX 常用命令
用户管理
su切换用户su - USERNAME使用 login shell 方式切换用户
sudo以其他用户身份执行命令visudo
文件操作
echo:输出字符echo hello world > ~/text:>为输出流标志,输出文本到text中
man: 命令手册ls命令:ls -l:将结果按照长列表形式显示ls -a: 查看隐藏文件ls -r: 将结果reverse排列ls -S: 将结果按文件size进行排序ls -t: 将结果按时间进行排序ls -R: 将结果进行递归显示
touch:创建空文件cat/more/less:查看文件cat:查看短文件more/less:查看长文件less:
tailtail -n 1 log.error
cp:copy文件mv:移动文件,重命名rm:删除文件rm:删除文件rm -d:删除空文件夹rm -rd:强制递归删除文件夹中的文件rm -rfrm -rf test1/test2 -v:查看删除过程
搜索
find: 搜索文件find . -name *.cfind . -empty
grep: 查找文本内容grep“what” ./conversation.txt
统计文件个数
- 统计当前目录下文件的个数(不包括字目录:
ls -l \| grep "^-" \| wc -l - 统计当前目录下文件的个数(包括子目录):
ls -lR \| grep "^-" \| wc -l - 统计当前目录下文件夹个数(包括子目录):
ls -lR \| grep "^d" \| wc -l
文件权限
以下面这两条记录为例:
drwxr-xr-x 6 root root 4096 Aug 8 15:58 nginx
-rw-r--r-- 1 root root 2078 Aug 8 14:29 nginx.conf
d代表文件夹-代表文件
每条权限有三个section,每个section有三个字母rwx表示,分别表示read,write,exe的权限,如果某个secion不足三个字母,缺失部分用-代替。以上面第二条为例分析
owner | group | everyone
rw- r-- r--
- Owner可以读写该文件,但不能执行
- group组的用户和一般用户只能read
当创建一个新文件,通常要为其赋予权限码,其规则为,r代表4,w代表2,x代表1,空位为0,每个section的值为r+w+x,如下
Octal Permissions
---------------------------
r = 4 w = 2 x = 1
还是上面的例子,按照上述规则计算,则可推出,nginx.conf的chmod值为644
owner | group | everyone
rw- | r-- | r--
4+2+0 | 4+0+0 | 4+0+0
6 4 4
常用的几个权限码为
-rw-r--r-- 644
-rwxrwxrwx 777
drwxr-xr-x 755
-rw------- 600
文件压缩
- 使用zip
#To compress
zip -r archive_name.zip folder_to_compress
#avoid "_MACOSX” or “._Filename” and ".ds"
zip -r -X archive_name.zip folder_to_compress
# To extract
unzip archive_name.zip
- 使用tar
#To compress
tar -zcvf archive_name.tar.gz folder_to_compress
#To extract
tar -zxvf archive_name.tar.gz
加密
- 查看RSA的FingerPrint
ssh-keygen -l -f rsa_key.pub
网络操作
- 查看端口进程
lsof -wni tcp:3000 #查看3000端口进程
kill -9 PID #杀掉进程
- 查看域名IP地址
host example.com
host -t a example.com
- CURL post request
For sending data with POST and PUT requests, these are common curl options:
- request type
-X POST-X PUT
- content type header
-H "Content-Type: application/x-www-form-urlencoded"-H "Content-Type: application/json"
- data
- form urlencoded:
-d "param1=value1¶m2=value2"or-d @data.txt - json:
-d '{"key1":"value1", "key2":"value2"}'or-d @data.json
- form urlencoded: