操作文件/目录
-
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!→ 放弃修改然后退出