使用的电脑为 mac 。
参考:Learn Enough Command Line to Be Dangerous
-
>
和>>
就算没有编辑器,也是可以把输出的一行字,新创建到一个文件中。
$ echo "From fairest creatures we desire increase," > sonnet_1.txt`
# 这句命令就可以创建一个新的文件 sonnet_1.txt 并把 echo 后面的那句话放到这个文件中。
$ cat sonnet_1.txt
# 查看 sonnet_1.txt,会把 sonnet_1.txt 中的内容输出。(cat 是 concatenate 的缩写)
$ echo "That thereby beauty's Rose might never die," >> sonnet_1.txt
# 使用 >> 可以把一句话追加到文件中。
$ diff sonnet_1.txt sonnet_1_lower_case.txt
< That thereby beauty's Rose might never die,
---
> That thereby beauty's rose might never die,
# 快速比较两个文件的不同。
- ls
列出当前目录所有的文件和文件夹。
$ ls foo # 列出这个 foo 下所有的文件和文件夹。
$ touch foo # 可以创建一个空的文件,名字是 foo.
$ cd + 文件名 # 切换到这个文件下面。
$ ls *.txt # 可以列出所有的以 .txt 结尾的文件
$ ls -l *.txt # 可以列出所有以 .txt 结尾的文件,以及更改文件的时间等。时间前面的是这个文件的大小(字节)。
$ ls -rtl # 可以按照修改时间排序,最近的在最后面。这个也可以拆开写 ls -r -t -l
$ echo "*.txt" > .gitignore
$ cat .gitignore
*.txt
$ ls # 不会列出隐藏的文件 .gitignore 。
$ ls -a # 可以列出所有的文件包括隐藏的文件 .gitignore 。
- mv
$ echo "test text" > test
$ mv test test_file.txt
$ ls
test_file.txt
重命名 text 文件变成 test_file.txt。
- cp copy 复制文件
$ cp test_file.txt second_test.txt
$ ls
second_test.txt
test_file.txt
- rm remove 删除文件
$ rm second_test.txt
remove second_test.txt? y
$ ls second_test.txt
ls: second_test.txt: No such file or directory
- Tab completion Tab 键自动补全
$ rm tes⇥ # 输入一半的时候可以按住 tab 键,便会自动补全后面的文件名。
$ rm -f *.txt # 删除所有以 *.txt 结尾的文件。f 为 force 的缩写。
总结
翻译好累 😫,结合上面看吧。
Command | Description | Example |
---|---|---|
> | Redirect output to filename | $ echo foo > foo.txt |
>> | Append output to filename | $ echo bar >> foo.txt |
cat <file> | Print contents of file to screen | $ cat hello.txt |
diff <f1> <f2> | Diff files 1 & 2 | $ diff foo.txt bar.txt |
ls | List directory or file | $ ls hello.txt |
ls -l | List long form | $ ls -l hello.txt |
ls -rtl | Long by reverse modification time | $ ls -rtl |
ls -a | List all (including hidden) | $ ls -a |
touch <file> | Create an empty file | $ touch foo |
mv <old> <new> | Rename (move) from old to new | $ mv foo bar |
cp <old> <new> | Copy old to new | $ cp foo bar |
rm <file> | Remove (delete) file | $ rm foo |
rm -f <file> | Force-remove file | $ rm -f bar |