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
:
tail
tail -n 1 log.error
cp
:copy文件mv
:移动文件,重命名rm
:删除文件rm
:删除文件rm -d
:删除空文件夹rm -rd
:强制递归删除文件夹中的文件rm -rf
rm -rf test1/test2 -v
:查看删除过程
搜索
find
: 搜索文件find . -name *.c
find . -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: