一、Linux 基本指令 ls 和 cd
Linux 的深度玩家, 基本上都是用 Terminal 和指令 (command) 来超控电脑的.有些时候甚至你的电脑没有屏幕, 也只能用指令来超控. 比如服务器, 树莓派(raspberry pi).
如果你只是为了想 “轻度使用” Linux, 前面的教程就已经够了, 不过如果你想要 “重度使用”, 哈哈, 就接着看吧.
其实计算机指令大部分都是和文件打交道, 比如把文件 A 移动到 文件夹B, 新建一个文件 C, 改写文件 A 的内容等.你想黑客黑你电脑, 多半也就是找你电脑里重要的文件, 然后 copy 去他的电脑. 或者整个互联网都是一个文件传输器, 将你的网页以文件的形式发送到你的电脑.所以学 Linux, 学会怎么样摆弄文件最重要. 接下来几节内容, 我们就介绍一些基础的摆弄文件方法.
1.cd 指令
第一个要知道的指令就是怎么样去到你想去的地方. cd
(Change Directory) 就是干这个的. 找到 Linux 的 terminal 窗口,然后他默认跳出来是在你的用户目录 (Home). Terminal 中的 ~ $
就是说你输入指令将在 ~
这个目录下执行.而 ~
这个符号代表的是你的 Home 目录. 如果在文件管理器中可视化出来, 就是下面图中那样.
使用 cd
指令, 我们能在 Terminal 中轻松切换到不同的文件夹. 想从 Home 去 Documents
这个文件夹?输入下面的命令就可以了.
~$ cd Documents/
接着你会看到它在下一行跳出了这个东西, 在 $
前面的 ~/Documents
就说明你现在已经在 Documents 这个文件夹里了.你现在要执行的命令将会在这个目录下生效.
~/Documents$
接着我们来列举另外一些常用的 cd
命令.
①返回上一级目录
~/Documents$ cd ..
~$
②去往子文件夹
~$ cd Documents/folder1/
~/Documents/folder1$
③返回你刚刚所在的目录
~/Documents/folder1$ cd -
/home/morvan
~$
④ 向上返回两次
~/Documents/folder1$ cd ../../
~$
⑤ 去往 Home
~/Documents/folder1$ cd ~
~$
⑥ 去往电脑任何地方, 你需要的是一个绝对路径
~$ cd /home/morvan/Documents/folder1
~/Documents/folder1$
我们现在能在电脑的文件中移动来移动去了, 这还没什么意思, 接着我们就来移动去一个地方, 再看看那个地方有些什么.(有种黑客在偷窥人家文件的感觉, 哈哈).
我在 Documents 目录里放了个文件夹(folder1
)和文件(file1
). 我们将目录导去 Documents,然后使用 ls
(list 的简写) 看看这里面的东西.
~/Documents$ ls
file1 folder1
我们再来看看 ls
的其他使用方式.
① 输出详细信息 -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
② -a
(all 的简写) 显示所有文件 . 这里还会显示隐藏的文件 (以 .
开头的)
$ ls -a
. .. file1 folder1 .hidden_file
③ -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
④ 还有很多其他的功能, 我们可以通过 --help
来查看
$ ls --help
二、Linux 基本指令 touch, cp 和 mv
1.touch 新建
touch
的使用很简单, 我们先去往 Documents 的文件夹, 里面已经有了 folder1
和 file1
,如果我们想新建一个 file2
使用下面的语句就好. 一个空文件就建立好了.
$ touch file2
如果你想同时建立多个文件, 输入多个文件的名字, 以空格分开.
$ touch file3 file4 file5
2.cp 复制
cp
(copy) 是复制文件或者文件夹的指令, 常用的方式是复制 “老文件” 到 “新文件”.
$ cp 老文件 新文件
① 我们用上面建立好的 file1
来举例, 将 file1
复制成 file1copy
② -i
(interactive) 注意: 如果 file1copy 已经存在, 它将会直接覆盖已存在的 file1copy, 如果要避免直接覆盖, 我们在 cp 后面加一个选项.
$ cp -i file1 file1copy
cp: overwrite 'file1copy'?
在这句问句后面打上 “Yes”, “Y”, 或者任何大小写形式的 “y” 和 “yes”, 它将进行覆盖操作. 直接回车或者打其他字母, 就会放弃复制这项操作.
③ 复制去文件夹
$ cp file1 folder1/
④复制文件夹, 需要加上 -R
(recursive)
$ cp -R folder1/ folder2/
⑤复制多个文件. 复制名字部分相同的多个文件, *
是说”你就找文件前面是 file 的文件, 后面是什么名字无所谓”
$ cp file* folder2/
或者你可以单独选定几个文件, cp 会默认最后一个选项是要复制去的文件夹. 比如下面把 file1copy
和 file2
复制去 folder1/
$ cp file1copy file2 folder1/
2.mv 剪切
知道了 cp
, mv
就好理解多了, 基本是一样的.
① 移动去另一个文件夹
$ mv file1 folder1/
②重命名文件
因为移动文件到原始的地点, 但是以不同的文件名. 这种做法不就是在重命名嘛!
$ mv file1 file1rename
最后还是想要提一句, 如果想要查看使用说明, 直接在指令后面打上 --help
就能查看.
三、Linux 基本指令 mkdir, rmdir 和 rm
1,mkdir 建立文件夹
mkdir
(make directory) 就是创建一个文件夹的意思, 使用起来很简单.
$ mkdir folder2
如果你想在这个目录给 folder2
里面再建一个文件夹也是 Ok.
$ mkdir folder2/f2
这样, f2
这个文件夹就被新建在了 folder2
里面.
2.rmdir 移除文件夹
rmdir
(remove directory) 也就是字面意思, 移除文件夹. 不过这有一个前提条件.这些要移除的文件夹必须是空的. 不然会失败. 所以如果想刚刚建立的那个 folder2
就不能被移除, 因为里面有个 f2
文件夹.
要移除个空文件夹, 比如我在新建一个 folder3
, 然后移除
$ rmdir folder3
那文件夹里面有文件的这种情况, 或者是移除单个文件的情况, 我们都能用 rm
来实现.注意: 执行了 rm 以后是不能进行返回操作的, 请确保别执行像这样的操作 rm /
, 这会清空你的电脑.
①移除单个文件
$ rm file1
② -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
③ -r
或 -R
(recursively) 用来删文件夹
和 rmdir
不同, rm -r
可以在文件夹中有文件的情况下删除这个文件夹. 比如我的 folder1
里有 file1
和 file2
两个文件.
$ rm -r folder1
四.在 linux 中, 怎么样观看和编辑文件. nano 和 cat 解决。
nano
是 linux 的一款文字编辑工具. 我们可以拿它来做最基本的 terminal 端的文本编辑, 甚至可以写代码~下面我们用 touch
创建一个 Python 脚本. 如果大家不懂 Python 也没关系, 你就知道我们可以拿 nano
来编辑文字或者脚本就好了.
然后用 nano
执行这个 t.py
文件.
$ nano t.py
他就会变成一个文本编辑器, 你在里面可以打上一些脚本, 比如像我这样.
然后按 “Ctrl + x” 来保存和退出. 如果提示你保存, 你就按一下 “y” 键, 然后回车, 你的文件就被保存下来了.
接着如果你在 terminal 中输入这个, 你就能看到 terminal 执行了你的 python 文件.
$ python t.py
This is a Python script!
(写给会 Python 的朋友: Ubuntu 安装好了以后自带 Python2.7 和 Python3.5的)
cat
(catenate) 可以用来显示文件内容, 或者是将某个文件里的内容写入到其他文件里. 我们举例说明.
1 查看文件内容
$ cat t.py
print("This is a Python script!")
2 将文件的内容放到另一个文件里
$ cat t.py > t1.py
$ cat t1.py
print("This is a Python script!")
比如这里我们把 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!")
4将内容添加在一个文件末尾
$ cat t3 >> t2.py
$ cat t2.py
print("This is a Python script!")
print("This is a Python script!")
This is t3.
转载自https://morvanzhou.github.io/tutorials/others/linux-basic/
感谢莫烦python ,不知道能不能装载,打开你的链接有的时候太慢了,所以就装载了哇。