Linux的基本了解

一、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$
2、ls 指令

我们现在能在电脑的文件中移动来移动去了, 这还没什么意思, 接着我们就来移动去一个地方, 再看看那个地方有些什么.(有种黑客在偷窥人家文件的感觉, 哈哈).

我在 Documents 目录里放了个文件夹(folder1)和文件(file1). 我们将目录导去 Documents,然后使用 ls (list 的简写) 看看这里面的东西.

Linux 基本指令 ls 和 cd

~/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 的文件夹, 里面已经有了 folder1file1,如果我们想新建一个 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 会默认最后一个选项是要复制去的文件夹. 比如下面把 file1copyfile2 复制去 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

Linux 基本指令 mkdir, rmdir 和 rm

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

$ mkdir folder2/f2

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

2.rmdir 移除文件夹

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

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

$ rmdir folder3
3.rm 移除文件

那文件夹里面有文件的这种情况, 或者是移除单个文件的情况, 我们都能用 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 里有 file1file2 两个文件.

$ 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!")
3 将多个文件的内容打包一起放入另一个文件

比如这里我们把 t.pyt1.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 ,不知道能不能装载,打开你的链接有的时候太慢了,所以就装载了哇。

阅读更多
上一篇梯度下降(Gradient Descent)小结
下一篇数据结构与算法(邓俊辉清华大学2013版书)学习笔记1
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭