UNIX 常用命令


常用命令

  • echo:输出字符
    • echo hello world > ~/text: >为输出流标志,输出文本到text中
  • man: 命令手册
  • 目录操作:
    • ls:查看目录下文件
      • ls -al:查看隐藏文件
      • ls -l:长列表形式显示
      • ls ~/c*:只显示c开头的文件
      • 别名:ll
    • cd:进入目录
    • find dir file:在dir的路径中查找file
    • pwd: 当前路径
  • 文件操作:
    • 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:查看删除过程
  • 别名
    • alias ll = ls -alF

File Permission

以下面这两条记录为例:

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
  1. d代表文件夹
  2. -代表文件

每条权限有三个section,每个section有三个字母rwx表示,分别表示read,write,exe的权限,如果某个secion不足三个字母,缺失部分用-代替。以上面第二条为例分析

owner | group | everyone
rw-     r--      r--
  1. Owner可以读写该文件,但不能执行
  2. group组的用户和一般用户只能read

当创建一个新文件,通常要为其赋予权限码,其规则为,r代表4w代表2x代表1,空位为0,每个section的值为r+w+x,如下

Octal Permissions
---------------------------
r = 4 	w = 2 	x = 1

还是上面的例子,按照上述规则计算,则可推出,nginx.confchmod值为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

Network

  • 查看端口进程
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&param2=value2" or -d @data.txt
    • json: -d '{"key1":"value1", "key2":"value2"}' or -d @data.json

加密

  • 查看RSA的FingerPrint
ssh-keygen -l -f rsa_key.pub

Resouces