Linux基础

Linux 基本指令 ls 和 cd

cd 指令

第一个要知道的指令就是怎么样去到你想去的地方. cd (Change Directory) 就是干这个的. 找到 Linux 的 terminal 窗口, 然后他默认跳出来是在你的用户目录 (Home). Terminal 中的 ~ $ 就是说你输入指令将在 ~ 这个目录下执行. 而 ~ 这个符号代表的是你的 Home 目录.

使用 cd 指令, 我们能在 Terminal 中轻松切换到不同的文件夹. 想从 Home 去 Documents 这个文件夹? 输入下面的命令就可以了.

$ cd Documents/

接着你会看到它在下一行跳出了这个东西, 在 $ 前面的 ~/Documents 就说明你现在已经在 Documents 这个文件夹里了. 你现在要执行的命令将会在这个目录下生效.

接着我们来列举另外一些常用的 cd 命令.

  1. 返回上一级目录
$ cd ..
  1. 去往子文件夹
$ cd Documents/folder1/
  1. 返回你刚刚所在的目录
$ cd -
  1. 向上返回两次
$ cd ../../
  1. 去往 Home
$ cd ~
  1. 去往电脑任何地方, 你需要的是一个绝对路径
$ cd /home/morvan/Documents/folder1

ls 指令

我们现在能在电脑的文件中移动来移动去了, 这还没什么意思, 接着我们就来移动去一个地方, 再看看那个地方有些什么.

我们将目录导去 Documents, 然后使用 ls (list 的简写) 看看这里面的东西.

~/Documents$ ls
file1  folder1

我们再来看看 ls其他使用方式.

  1. 输出详细信息 -l (long 的简写). 这个指令会打印出文件的权限 (-rw-rw-r-- 之后我们在细说这个), 用户名, 文件大小, 修改日期, 文件名
~/Documents$ ls -l
total 4
-rw-rw-r-- 1 morvan morvan    0 Oct 12 07:38 file1
drwxrwxr-x 2 morvan morvan 4096 Oct 12 07:26 folder1
  1. -a (all 的简写) 显示所有文件 . 这里还会显示隐藏的文件 (以 . 开头的)
$ ls -a
.  ..  file1  folder1  .hidden_file
  1. -lh (human), 直接 -l 不方便人看, 这个指令是为了方便给人观看的. 注意这里的文件大小使用了 K, MB, GB 之类概括
$ ls -lh
total 4.0K
-rw-rw-r-- 1 morvan morvan    0 Oct 12 07:38 file1
drwxrwxr-x 2 morvan morvan 4.0K Oct 12 07:26 folder1
  1. 还有很多其他的功能, 我们可以通过 --help 来查看
$ ls --help

Linux 基本指令 touch, cp 和 mv

touch 新建

touch 的使用很简单, 我们先去往 Documents 的文件夹, 里面已经有了 folder1 和 file1, 如果我们想新建一个 file2 使用下面的语句就好. 一个空文件就建立好了.

$ touch file2

如果你想同时建立多个文件, 输入多个文件的名字, 以空格分开.

$ touch file3 file4 file5

cp 复制

cp (copy) 是复制文件或者文件夹的指令, 常用的方式是复制 “老文件” 到 “新文件”.

$ cp 老文件 新文件
  1. 我们用上面建立好的 file1 来举例, 将 file1 复制成 file1copy
$ cp file1 file1copy
  1. -i (interactive) 注意: 如果 file1copy 已经存在, 它将会直接覆盖已存在的 file1copy, 如果要避免直接覆盖, 我们在 cp 后面加一个选项.
$ cp -i file1 file1copy
cp: overwrite 'file1copy'?

在这句问句后面打上 “Yes”, “Y”, 或者任何大小写形式的 “y” 和 “yes”, 它将进行覆盖操作. 直接回车或者打其他字母, 就会放弃复制这项操作.

  1. 复制去文件夹
$ cp file1 folder1/
  1. 复制文件夹, 需要加上 -R (recursive)
$ cp -R folder1/ folder2/
  1. 复制多个文件. 复制名字部分相同的多个文件, * 是说”你就找文件前面是 file 的文件, 后面是什么名字无所谓”
$ cp file* folder2/

或者你可以单独选定几个文件, cp 会默认最后一个选项是要复制去的文件夹. 比如下面把 file1copy 和 file2 复制去 folder1/

$ cp file1copy file2 folder1/

mv 剪切

知道了 cp, mv就好理解多了, 基本是一样的.

  1. 移动去另一个文件夹
$ mv file1 folder1/
  1. 重命名文件
    因为移动文件到原始的地点, 但是以不同的文件名. 这种做法不就是在重命名嘛!
$ mv file1 file1rename

最后还是想要提一句, 如果想要查看使用说明, 直接在指令后面打上 --help 就能查看.

Linux 基本指令 mkdir, rmdir 和 rm

mkdir 建立文件夹

mkdir (make directory) 就是创建一个文件夹的意思, 使用起来很简单.

$ mkdir folder2

如果你想在这个目录给 folder2 里面再建一个文件夹也是 Ok.

$ mkdir folder2/f2

这样, f2 这个文件夹就被新建在了 folder2 里面.

rmdir 移除文件夹

rmdir (remove directory) 也就是字面意思, 移除文件夹. 不过这有一个前提条件. 这些要移除的文件夹必须是空的. 不然会失败. 所以如果想刚刚建立的那个 folder2 就不能被移除, 因为里面有个 f2 文件夹.

要移除个空文件夹, 比如我再新建一个 folder3, 然后移除

$ rmdir folder3

rm 移除文件

那文件夹里面有文件的这种情况, 或者是移除单个文件的情况, 我们都能用 rm 来实现. 注意: 执行了 rm 以后是不能进行返回操作的, 请确保别执行像这样的操作 rm /, 这会清空你的电脑.

  1. 我们用上面建立好的 file1 来举例, 将 file1 复制成 file1copy
$ rm file1
  1. -i-I 有提示地移除文件 (为了避免误删)
  • -i 会每个要移除的文件都进行提示
  • -I 超过3个文件才进行提示
$ rm -i f1 f2 f3 f4
rm: remove regular empty file 'f1'?
rm: remove regular empty file 'f2'? y
rm: remove regular empty file 'f3'?
rm: remove regular empty file 'f4'? y

$ rm -I f1 f2 f3 f4
rm: remove 4 arguments? y
  1. -r-R (recursively) 用来删文件夹
    rmdir 不同, rm -r 可以在文件夹中有文件的情况下删除这个文件夹. 比如我的 folder1 里有 file1 和 file2 两个文件.
$ rm -r folder1

Linux 基本指令 nano 和 cat

nano

nano 是 linux 的一款文字编辑工具. 我们可以拿它来做最基本的 terminal 端的文本编辑, 甚至可以写代码~ 下面我们用 touch 创建一个 Python 脚本. 如果大家不懂 Python 也没关系, 你就知道我们可以拿 nano 来编辑文字或者脚本就好了.

$ rm *
$ touch t.py

然后用 nano 执行这个 t.py 文件.

$ nano t.py

他就会变成一个文本编辑器, 你在里面可以打上一些脚本, 比如像我这样.
image

然后按 “Ctrl + x” 来保存和退出. 如果提示你保存, 你就按一下 “y” 键, 然后回车, 你的文件就被保存下来了.
接着如果你在 terminal 中输入这个, 你就能看到 terminal 执行了你的 python 文件.

$ python t.py
This is a Python script!

cat

cat (catenate) 可以用来显示文件内容, 或者是将某个文件里的内容写入到其他文件里. 我们举例说明.

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

推荐阅读更多精彩内容

  • 在Linux系统中,以“.”开头的文件,表明该文件是隐藏文件。下面主要介绍一下ls指令的用法以及tree指令的用法...
    丿水木灬年华阅读 596评论 1 0
  • Linux 目录 /:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。...
    miniminiming阅读 692评论 0 4
  • 1、Linux上的文件管理命令有哪些以及常用方法shell:shell负责接收用户输入的命令并进行解释,将需要执行...
    乀koala阅读 784评论 0 3
  • 本文包括: 1、Linux 系统概述 2、Linux 用户和用户组管理 3、Linux 文件和目录管理 4、Lin...
    廖少少阅读 2,647评论 1 40
  • FHS 目录路径 路径 使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级...
    七秒_7d35阅读 268评论 0 0