
Basical control
- 更改当前工作目录
$ cd
Change Dir
~ stevewayne$ cd Code
Code stevewayne$ pwd
/Users/stevewayne/Code
~ stevewayne$ cd //更改到~ home目录
~ stevewayne$ cd / //更改到/ 根目录
- 打印当前工作目录
$ pwd
Print Working Directory
~ stevewayne$ pwd
/Users/stevewayne
- 列出当前工作目录下的所有目录和文件
$ ls
list directory contents
~ stevewayne$ ls
Applications Pictures
CMD Public
- 绝对路径 从
/
目录开始 /Users/stevewayne
相对路径..
符号表示当前目录的父目录.
符号表示当前目录
~ stevewayne$ cd /
/ stevewayne$ ls
Users sbin
Volumes tmp
/ stevewayne$ cd /Users //绝对路径
/ stevewayne$ cd ../Users //相对路径
- 查看命令及参数的含义
$ man + order
q退出 n下一个;/+参数 查看参数含义
~ stevewayne$ man rm
Basical control of File and Directory
- 复制文件/目录
$ cp
CMD stevewayne$ cp -r dir1 dir //复制目录到指定目录
CMD stevewayne$ cp a.txt b.txt //复制文件到指定文件
- 移动文件/目录
$ mv
CMD stevewayne$ mv a.txt /Users/stevewayne/CMD/dir1 //移动文件到指定目录
CMD stevewayne$ mv dir1 /Users/stevewayne/CMD/dir3 //移动目录到指定目录
CMD stevewayne$ mv dir dir2/ //相对路径
- 重命名目录/文件
$ mv
CMD stevewayne$ mv dir dir3 //重命名目录
CMD stevewayne$ mv a.txt aa.txt //重命名文件
- 删除文件/目录
$ rm
CMD stevewayne$ rm -r b //删除目录
CMD stevewayne$ rm b.txt //删除文件
- 创建文件
$ touch
或$ >
CMD stevewayne$ touch a.txt
CMD stevewayne$ > b.txt
- 创建目录
$ mkdir
CMD stevewayne$ mkdir dir
- 查看文件/目录类型
$ file
CMD stevewayne$ file a.txt
a.txt: empty //查看文件类型
CMD stevewayne$ file dir
dir: directory //查看目录类型
- 查看文件大小
$ du
display disk usage statistics
CMD stevewayne$ du -k a.txt
0 a.txt
CMD stevewayne$ du -m a.txt
0 a.txt
- 下载文件
$ wget
CMD stevewayne$ wget http://happypeter.github.io/LGCB/book/
- 查看文件
$ cat
$ less
CMD stevewayne$ cat index.html
CMD stevewayne$ less index.html //可翻页
- 创建隐藏文件/目录
stevewayne$ touch .d.txt
CMD stevewayne$ mkdir .dir
- 查看隐藏文件/目录
CMD stevewayne$ ls -a
. .d.txt a.txt dir2
.. .dir b.txt index.html
.DS_Store .swp dir1
Basical control of Wildcard
-
*
代表全部,*.txt
所有的txt结尾的文件
CMD stevewayne$ ls *.txt
a.txt b.txt
Packed File
- 压缩文件.zip
CMD stevewayne$ ls
a.txt dir dir2
b.txt dir1 index.html
wenruihuadeMacBook:CMD stevewayne$ zip -r dir.zip dir/
adding: dir/ (stored 0%)
wenruihuadeMacBook:CMD stevewayne$ ls
a.txt dir dir1 index.html
b.txt dir.zip dir2
- 解压文件.zip
CMD stevewayne$ unzip dir.zip
- 解压文件tar.gz
dir stevewayne$ tar zxvf wget-1.5.3.tar.gz
- 压缩文件tar.gz
CMD stevewayne$ tar zcvf tar.tar.gz index.html/ a.txt/
a index.html
a a.txt
- 解压文件tar.bz2
dir stevewayne$ tar jxvf wget-1.11.3.tar.bz2
- 压缩文件tar.bz2
dir stevewayne$ tar jcvf wget.tar.bz2 wget-1.5.3.tar.gz/ wget-1.11.3.tar.bz2/
a wget-1.5.3.tar.gz
a wget-1.11.3.tar.bz2
wenruihuadeMacBook:dir stevewayne$ ls
a.txt wget-1.11.3 wget-1.5.3.tar.gz
b.txt wget-1.11.3.tar.bz2 wget.tar.bz2
index.html wget-1.5.3
Redirect
- 用
>
把内容输出到文件中
CMD stevewayne$ date >a.txt
wenruihuadeMacBook:CMD stevewayne$ cat a.txt
2017年 7月30日 星期日 16时25分21秒 CST
- 把CMD目录下所有的.txt结尾的文件输出到b.txt文档,再把文档中的内容输出到下一个命令中
CMD stevewayne$ ls |grep txt > b.txt
wenruihuadeMacBook:CMD stevewayne$ cat b.txt
a.txt
b.txt
CMD stevewayne$ grep txt <b.txt
a.txt
b.txt
- 3个重要文件
文件描述符为 0 的文件叫做 stdin (标准输入文件),描述符为1的叫做 stdout (标准输出文件),为2的叫 stderr (标准错误输出文件)
CMD stevewayne$ cowsay
Hello Wayne _____________
< Hello Wayne >
-------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
-
>
会覆盖原本的内容,所以使用>>
操作
CMD stevewayne$ cat a.txt >> b.txt
wenruihuadeMacBook:CMD stevewayne$ cat b.txt
a.txt
b.txt
2017年 7月30日 星期日 16时25分21秒 CST
- 用
$ cat
合并文件内容
CMD stevewayne$ cowsay > c.txt
CMD stevewayne$ cat c.txt
_____________
< Hello Wayne >
-------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
CMD stevewayne$ cat a.txt b.txt >> c.txt
CMD stevewayne$ cat c.txt
_____________
< Hello Wayne >
-------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
2017年 7月30日 星期日 16时25分21秒 CST
a.txt
b.txt
2017年 7月30日 星期日 16时25分21秒 CST
- 输出标准错误输出的文件描述
CMD stevewayne$ ls ccc 2> c.txt
CMD stevewayne$ cat c.txt
ls: ccc: No such file or directory
Pipe line
- 去除文件中的重复内容
CMD stevewayne$ cat a.txt
d.txt
a.txt
c.html
b.txt
b.txt
CMD stevewayne$ cat a.txt |uniq|grep txt|sort > c.txt
CMD stevewayne$ cat c.txt
a.txt
b.txt
d.txt
Power
- 一般来说,用户只在主目录底下会拥有写权限
~ stevewayne$ cd /
/ stevewayne$ mkdir a
mkdir: a: Permission denied
- 超级用户
$ sudo
/ stevewayne$ sudo mkdir a
Password:
/ stevewayne$ ls
Applications etc
Library home
......
3.File Mode 三种权限w(写)、r(读)、x(执行)
$ ls -l a.txt
-rw-rw-r-- 1 peter peter 0 Aug 30 11:57 a.txt
1
表示的是硬链接( hard link )的数目。前后两个 peter
分别代表拥有者( owner )名和组( group )名。0
是文件大小,以字节为单位,这里明显是个空文件。接下来是“最后修改时间”。

Chmod(修改文件模式)
1.修改所有者组( owner group ), 组( group ), 其他用户叫( world ) 所有权限。
CMD stevewayne$ ls -l a.txt
-rw-r--r-- 1 stevewayne staff 31 7 30 17:01 a.txt
CMD stevewayne$ chmod 777 a.txt
CMD stevewayne$ ls -l a.txt
-rwxrwxrwx 1 stevewayne staff 31 7 30 17:01 a.txt
process
1.报告系统当前的进程状态 ps
process status
CMD stevewayne$ ps
PID TTY TIME CMD
1046 ttys000 0:00.04 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server
1048 ttys000 0:00.03 -bash
2.查看系统当前所有进程
CMD stevewayne$ ps aux
3.结束进程
CMD stevewayne$ kill pid
CMD stevewayne$ killall program_name
网友评论