Linux 命令行使用介绍

基本单词

英文      | 翻译
----------|----------------|
directory | 目录、文件夹
file      | 文件
make      | 新建
remove    | 删除
move      | 移动
copy      | 复制
list      | 罗列
link      | 链接
find      | 查找
echo      | 发出回音、重复
touch     | 触摸

基本概念

  • 没有盘符,整个硬盘就是/,叫做根目录
  • 文件、目录、路径、节点
    • 文件
    • 目录,就是文件夹
      • 当前目录,用.表示
      • 父目录,用..表示
    • 节点 = 文件 或者 目录
    • 路径
      • 绝对路径,以/开头,能唯一确定一个节点
        • /tmp/a/1.txt
      • 相对路径,不以/开头,是一个相对值
        • a/./a/
        • b.txt./b.txt
        • a/b.txt./a/b.txt
        • ../c/d.txt
  • 大部分事情,图形界面(Graphical Interfaces,GUI)能做,命令行也能做,只是方式不同
         |  输入  |   输出
--------|--------|----------|
图形界面 | 鼠标点击 | 弹出对话框
命令行   | 输入文字 | 输出文字

// 比如浏览网页
crul -l http://www.baidu.com

文件相关操作

~表示用户目录。假设你的用户名是 administrator,那么

  • 在 Windows 系统,~表示 /Users/administrator/目录(一般在C盘)
  • 在 Linux 系统,~表示 /home/administrator目录
  • . 表示目前所在的目录
  • ..表示目前目录位置的上一层目录
命令 说明
cd 路径 切换工作目录
pwd 显示当前的完整路径
mkdir 目录名 创建目录
mkdir -p 目录路径 创建目录
- -
ls 路径 查看当前目录下的文件(不包括隐藏文件)
ls -a 路径 查看当前目录下的所有文件(包括隐藏文件)
ls -l 路径 查看当前目录下的文件(不包括隐藏文件)的详细信息
ls -al 路径 查看当前目录下的所有文件(包括隐藏文件)的详细信息
- -
open 路径 打开文件
- -
echo '1' > 文件路径 创建文件(重定向)
echo '1' >! 文件路径 强制创建文件
echo '1' >> 文件路径 创建文件,追加内容
touch 文件名 创建文件,如果文件不存在,就创建这个文件,如果文件存在,就把更新时间改为当前时间
- -
cp 源路径 目标路径 复制文件
cp -r 源路径 目标路径 以递归(recursion)的形式复制目录
- -
mv 源路径 目标路径 移动节点(重命名文件)
- -
rm 文件路径 删除文件
rm -f 文件路径 强制删除文件(force)
rm -r 目录路径 删除目录(recursion)
rm -rf 目录路径 强制递归的形式删除目录
- -
tree 查看目录结构(mac终端下测试未支持)
ln -s 真实文件 链接 建立软链接
  • 举例
ls
在桌面上 cal 文件夹下,包含:app.js文件、app.json文件、 pages文件夹
在终端切换到这个文件夹下输入 ls,输出
 app.js     app.json    pages
输入 ls -a,输出
.       ..      app.js      app.json    pages
输出 ls -al,输出
total 0
drwxr-xr-x   5 xxx  staff  170  7  5 11:45 .
drwx------+ 12 xxx  staff  408  7  5 11:45 ..
-rw-r--r--   1 xxx  staff    0  7  5 11:45 app.js
-rw-r--r--   1 xxx  staff    0  7  5 11:45 app.json
drwxr-xr-x   2 xxx  staff   68  7  5 11:45 pages
以app.js为例,其中
  -rw-r--r-- 代表 文件类型与权限
  1 代表链接占用的节点(i-node)
 xxx 代表文件所有者
 staff 代表文件的所有者的用户组
 0 代表文件大小
 7  5 11:45 代表文件的创建时间/最近修改时间
 app.js 代表文件名称


open
open . 打开当前文件


cd
假设我们要切换到桌面,那么可以这样输入 cd Desktop ,就可以切换到桌面
假设我要切换到桌面的上一级,那么可以这么输入 cd ../ ,就可以切换到上一级
假设我要切换到根路径,那么在终端输入 cd / 就可以了


touch
比如我要创建 x.html,那么我在终端可以输入 touch x.html


rm
比如我刚才创建 x.html,我现在要把 x.html删掉,那么我在终端可以输入 rm x.html ,就可以删掉了
比如我要删除 x 文件夹,在终端上输入 rm -rf x,这样就可以删除了


mv
比如我现在要将 1.html改为 2.html,那么在终端上可以输入 mv 1.html 2.html


echo
在桌面路径下,输入 echo 'like'>1.txt,会发现创建了 1.txt文件,且写入了内容 like
输入 echo 'hello'>1.txt,会发现 1.txt文件里的内容 like 被替换成了 hello
如果要追加内容,输入 echo 'world' >> 2.txt 


cp,如果要复制文件夹中的内容,使用 *
  cp a/* b 只复制文件
  cp -r a/* b 既复制文件,也复制目录
桌面创建两个文件夹a、b,a中包含:1.txt文件、b.mp3文件、xxx文件夹(其中又包含 j.json 文件)
在终端中,在桌面路径下,输入 cp a/* b,输出
  cp: a/xxx is a directory (not copied).
输入 ls ./b,输出
 1.txt  b.mp3
可以看到,a/xxx 文件夹及其内容并没有被复制过去。输入 cp -r a/* b && ls ./b,输出
1.txt   b.mp3   xxx 


ln -s 真实文件 链接
桌面上创建 1.txt、2.mp3两个文件,输入 ln -s 1.txt 2.mp3(如果事先未创建 2.mp3 文件,这里也会自动创建)。输出
ln: 2.mp3: File exists
强制执行,输入 ln -sf 1.txt 2.mp3 && open 2.mp3,可以看到打开的是 1.txt
关闭打开的 1.txt,终端继续输入 rm 1.txt && open 2.mp3,输出
rm: 1.txt: No such file or directory
因为 1.txt被我们删除后,2.mp3找不到它的原始项目了

技巧

操作                     | 命令
-------------------------|-------------------------------|
回到刚才的目录(返回)      | cd -
使用上一次的命令           | 键盘上的 上 方向键
使用上一次的命令           | !!
使用上一次的最后一个参数    | <kbd>alt</kbd> + <kbd>.</kbd>
一句话执行两个命令          | xxx; yyy (;  前面失败了,后面也会执行)
一句话执行两个命令          | xxx&& yyy (&&  前面成功了,后面才会执行)
  • 如何在命令里面打回车?
    • 在需要回车的地方,先输入反斜杠 \ 再回车,这样命令不会被执行,而是进入一个中间状态,等你在下一行继续输入
  • 什么时候加引号?
    • 有空格等特殊字符的时候加引号,将其看作一个整体

如何自学命令行?

  • man ls
  • ls -h:mac终端测试未支持
  • ls --help:mac终端测试未支持
  • 网站:explainshell.com

如何快速查找文件

  • Everything(Windows下)
  • 命令find . -iname xxx -type d
桌面存在三个文件 10.txt、11.txt 、12.txt 
在桌面路径下,终端输入 find . -name '*.txt'(或 find . -iname '*.txt'),. 代表当前目录。这里使用了模糊匹配,输出
./10.txt
./11.txt
./12.txt
还可以进一步指定搜索的类型,-type d 代表仅搜索文件夹(目录),-type f 代表仅搜索文件

命令行与 图像界面(GUI) 融为一体

  • 如何在命令行中调用 GUI
    • Windows: start . 或者 explorer .
    • macOS: open .
  • 如何从 GUI 进入命令行
    • Windows: 使用 Everything 查找文件,打开目录,右键,「Git Bash here」
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容