操作文件/目录
-
pwd
显示当前目录 -
ls
列出当前目录的文件或子目录-a
显示所有文件,包括隐藏文件或子目录-l
列出文件的详细信息
ls -al # 执行结果: total 9952 drwxr-xr-x 8 yukun staff 256 Mar 19 23:42 . drwx------@ 6 yukun staff 192 Mar 19 19:51 .. -rw-r--r--@ 1 yukun staff 6148 Mar 19 23:44 .DS_Store -rw-r--r--@ 1 yukun staff 2366653 Mar 18 17:08 a.png -rw-r--r--@ 1 yukun staff 2366653 Mar 19 23:35 b.png -rw-r--r--@ 1 yukun staff 351678 Mar 18 17:09 c.png drwxr-xr-x 5 yukun staff 160 Mar 20 14:18 old drwxr-xr-x 5 yukun staff 160 Mar 19 23:40 test
-
cd
更改工作目录.
当前工作目录..
上一级目录~
home目录,相当于/Users/(你的username)
# 切换到abc目录 cd abc # 如果不存在abc, 提示cd: no such file or directory: abc # 切换到home目录 cd ~ # 返回上一级目录 cd ..
-
mkdir
在当前位置创建一个新的空目录# 在当前目录创建一个新的空目录 mkdir folder # 在当前目录创建多个新目录 mkdir folder1 folder2 # 可以相对于当前目录创建新目录 mkdir -p ./folder1/new
-
rmdir
删除一个空目录rmdir folder # 如果删除的目录非空会提示: rmdir: folder: Directory not empty
-
touch
现在多用于创建新文件,也可用于修改文件或者目录的时间属性# 创建一个空白的config file touch config_file.json
-
cat
现在多用于在控制台输出文件内容,也可用于拼接或覆写文件# 在控制台输出index.html的内容(纯文本) cat index.html # 用a的内容覆盖b cat a.png > b.png # 清空b的内容 cat /dev/null > b.png # 将config.txt追加到index.html的尾部 cat config.txt >> index.html
-
echo
打印输出字符串,现在多用于先文件末尾追加字符串配置# 将一行配置字符串追加到home目录下.zshrc文件的末尾 echo 'export ANDROID_HOME=/Users/$USER/Library/Android/sdk' >> ~/.zshrc
-
cp
复制文件或目录# 复制a到b,会覆盖b的内容 # 相当于 cat a.png > b.png cp a.png b.png # 复制目录时需要用-r,目标目录不存在会创建 cp -r folder dirctor
-
mv
用于移动文件或目录,也常用于给文件或目录改名# 改名 mv old new # 加.隐藏 mv old .new
-
rm
删除一个目录或文件# 可以直接使用删除文件 rm text.txt # 如果要删除目录需要用-r rm -r folder # 强行删除当前目录下的所有文件及目录 rm -rf *
用户与权限操作
Linux 文件基本属性
Linux 中访问文件的身份有四种:
- 文件所有者 (Owner)
- 群组 (Group)
- 其他 (Others)
- 超级用户 (Root)
Linux 中一个文件的权限有三种:
权限类型 | 字母表示 | 数字表示 |
---|---|---|
读取 (read) | r | 4 |
写入 (write) | w | 2 |
执行 (execute) | x | 1 |
我们用 ls -l
命令执行结果的第一列代表了文件类型和权限信息:
d rwx r-x r-x
- --- --- ---
| | | |
| | | ------ others权限 = 读取 + 执行 = 5
| | ---------- group权限 = 读取 + 执行 = 5
| -------------- owner权限 = 读取 + 写入 + 执行 = 7
----------------- d -> 目录 | - -> 文件
用数字表示该文件的权限就是:755
命令
-
sudo
以系统管理者 (Root) 的身份执行指令,第一次执行会要求输入 user 密码。# 以root的身份执行ls sudo ls
-
chown
更改文件属主# -R:递归更改文件属组 chown [–R] 属主名 文件名 chown [-R] 属主名:属组名 文件名
-
chmod
更改文件权限# 更改index.html文件的权限为rwxr-x--- chomd 750 index.html
-
su
切换用户 -
whoami
查看当前用户
其他
-
端口
# 查看监听3000端口的进程 lsof -i :3000 # 终止PID为123的进程 kill -9 123
Vim 文件编辑
vi/vim
是 Linux 内建的文本编辑工具,其特点在于拥有多种各具特点的编辑模式,但对于新手来说很多操作都比较反直觉。
目前来看,我仅在解决 git conflicts 的时候会用到内建vim
,但是还是在这里简单介绍一下它的常见使用方法。
# 打开一个文本文件,如果不存在则会创建
vim index.html
vim
默认用普通命令模式打开新文件。该模式下输入字符会被当作命令:
i
(insert) /a
(append) /o
→ 进入插入模式dd
→ 删除当前行x
→ 删除光标处字符u
→ 撤销:
→ 进入底线命令模式
进入插入模式之后,左下角会有—— INSERT ——
标志。这个模式就是我们最常见的文本编辑模式,可以直接进行字符修改。修改完成后按 esc 键返回普通命令模式。
普通命令模式中键入:
进入底线命令模式,这个模式常用于指定文件的保存方式:
q
→ 如果没有对文件改动,可以直接退出wq
→ 写入修改然后退出q!
→ 放弃修改然后退出