【侵删】学习笔记| 最近在学linux系统,看了莫烦python上的教学,决定把终端的一些常用命令po出来,感觉以后会经常用到,正好也可以帮助我整理一下

本文出处:https://morvanzhou.github.io/tutorials/others/linux-basic/
/不得不说,morvan大大真的太可爱了!/
(侵删)

Linux 基本指令 ls 和 cd

cd 指令

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

~$ cd Documents/

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

~/Documents$

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

1 返回上一级目录

~/Documents$ cd ..

~$
2 去往子文件夹

~$ cd Documents/folder1/
~/Documents/folder1$

3 返回你刚刚所在的目录

~/Documents/folder1$ cd -
/home/morvan
~$

4 向上返回两次

~/Documents/folder1$ cd ../../
~$

5 去往 Home

~/Documents/folder1$ cd ~
~$

6 去往电脑任何地方, 你需要的是一个绝对路径

~$ cd /home/morvan/Documents/folder1
~/Documents/folder1$

ls 指令

我在 Documents 目录里放了个文件夹(folder1)和文件(file1). 我们将目录导去 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

2 -a (all 的简写) 显示所有文件 . 这里还会显示隐藏的文件 (以 . 开头的)

$ ls -a
.  ..  file1  folder1  .hidden_file

3 -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

4 还有很多其他的功能, 我们可以通过 --help 来查看

$ ls --help

Linux 基本指令 ls 和 cd

Linux 基本指令 touch, cp 和 mv

(function: 创建新文件, 复制, 粘贴, 剪切.)

touch 新建

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

$ touch file2

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

$ touch file3 file4 file5

cp 复制

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

$ cp 老文件 新文件

1 我们用上面建立好的 file1 来举例, 将 file1 复制成 file1copy

$ cp file1 file1copy

2 -i (interactive) 注意: 如果 file1copy 已经存在, 它将会直接覆盖已存在的 file1copy, 如果要避免直接覆盖, 我们在 cp 后面加一个选项.

$ cp -i file1 file1copy
cp: overwrite 'file1copy'?

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

3 复制去文件夹

$ cp file1 folder1/

4 复制文件夹, 需要加上 -R (recursive)

$ cp -R folder1/ folder2/

5 复制多个文件. 复制名字部分相同的多个文件, * 是说”你就找文件前面是 file 的文件, 后面是什么名字无所谓”

$ cp file* folder2/

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

$ cp file1copy file2 folder1/

mv 剪切

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

1 移动去另一个文件夹

$ mv file1 folder1/

2 重命名文件

因为移动文件到原始的地点, 但是以不同的文件名. 这种做法不就是在重命名嘛!

$ mv  file1 file1rename

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

touch & cp
mv

Linux 基本指令 mkdir, rmdir 和 rm

(Function: 创建新文件夹, 移除文件夹, 移除文件.)

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 移除单个文件

$ rm file1

2 -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

3 -r 或 -R (recursively) 用来删文件夹

和 rmdir 不同, rm -r 可以在文件夹中有文件的情况下删除这个文件夹. 比如我的 folder1 里有 file1 和 file2 两个文件.

$ rm -r folder1

rmdir
rm(rm -i)
mkdir

Linux 基本指令 nano 和 cat

(Function:观看和编辑文件)

nano

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

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.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 >> 将内容添加在一个文件末尾

我创建了一个 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.

nano

cat

Linux 文件权限

(Function: 查看、设置、更改文件或文件夹权限)

ls 查看权限

查看文件权限的方法很简单, 其实之前我们就已经看到过这样的内容了, 如果你还记得. 我们在说 ls 指令的时候, 提到过权限问题, 不过到了这节内容我们仔细说说权限. 如果你在 Terminal 中输入图片中的指令.

1 在 Terminal 中查看文件的权限

$ ls -l
total 16
----rw-r-- 1 morvan morvan 34 Oct 12 09:51 t1.py
-rw----r-- 1 morvan morvan 80 Oct 12 09:57 t2.py
-rw-rw-r-- 1 morvan morvan 12 Oct 12 09:56 t3
-rwxrw-r-- 1 morvan morvan 55 Oct 13 17:28 t.py

在这里, 像-rw-rw-r–这种, 就是权限的说明. 细节展示在下面的图中. 在下图中, 这串字符得拆成4个部分,
在这里插入图片描述

  • Type: 很多种 (最常见的是 - 为文件, d 为文件夹, 其他的还有l, n … 这种东西, 真正自己遇到了, 网上再搜就好, 一次性说太多记不住的).
  • User: 后面跟着的三个空是使用 User 的身份能对这个做什么处理 (r 能读; w 能写; x 能执行; - 不能完成某个操作).
  • Group: 一个 Group 里可能有一个或多个 user, 这些权限的样式和 User 一样.
  • Others: 除了 User 和 Group 以外人的权限._

如果有朋友对 User, group, others 这几个没什么概念的话, 我这里补充一下. User 一般就是指你, 这个正在使用电脑的人. Group 是一个 User 的集合, 最开始创建新 User 的时候, 他也为这个 User 创建了一个和 User 一样名字的 Group, 这个新 Group 里只有这个 User. 一般来说, 像一个企业部门的电脑, 都可以放在一个 Group 里, 分享了一些共享文件和权限. Others 就是除了上面提到的 User 和 Group 以外的人.

好了, 有了这些理解, 我们拿上面的 t1.py 来举例. 我们可以将 ----rw-r-- 拆成 - (这是文件), —(这个 user 没有任何权限), rw- (这个 Group 里可以读,写), r-- (其他人只能读).

chmod 修改权限

好了, 我们知道了这些权限的问题, 那我们如何改写权限呢? chmod (change mode) 就是来干这个的.

通常的修改形式是

$ chmod [谁][怎么修改] [哪个文件]

举个最简单的例子, 现在的 t1.py 是 ----rw-r–, 如果我们想让你(user)有读的能力. 下面这样改就行了.

$ chmod u+r t1.py
$ ls -l
-r--rw-r-- 1 morvan morvan 34 Oct 12 09:51 t1.py

这里的 u+r 很形象, User + read, 给 t1.py 这个修改. 所以我们的修改形式就能总结出下面这样.

[谁]

  • u: 对于 User 修改
  • g: 对于 Group 修改
  • o: 对于 Others 修改
  • a: (all) 对于所有人修改
  • [怎么修改]
  • +, -, =: 作用的形式, 加上, 减掉, 等于某些权限
  • r, w, x 或者多个权限一起, 比如 rx

[哪个文件]

  • 施加操作的文件, 可以为多个

我们再举几个例, 巩固一下.

-rw----r-- 1 morvan morvan 80 Oct 12 09:57 t2.py
-rw-rw-r-- 1 morvan morvan 12 Oct 12 09:56 t3
-rwxrw-r-- 1 morvan morvan 55 Oct 13 17:28 t.py

$ chmod u-r t2.py
$ ls -l t2.py
--w----r-- 1 morvan morvan 80 Oct 12 09:57 t2.py

$ chmod g+x-w t3
$ ls -l t3
--w-r-xr-- 1 morvan morvan 12 Oct 12 09:56 t3

除了上面这些修改形式, 还有一些简化版的形式, 不过我觉得不天天用权限这东西, 了解上面就够了. 如果你想更深的了解, 网上搜搜 “linux 权限 数字表示” 对你会有帮助.

一个使用 Python 的技巧
我不怎么用权限这东西, 但是我却发现给 python 文件添加权限 x 还算有用的. 为什么这么说? 因为通常, 如果一个 .py 没有 x 权限, 在 terminal 中你就需要这样执行:

$ python3 t.py
This is a Python script!

如果你有了 x (可执行权限), 你运行这个文件可以直接这样打:

$ ./t.py
This is a Python script!

如果你天天要运行这个脚本, 每次运行的时候少几个字还是挺好的. 如果你决定要这样做, 你在这个 Python 脚本的开头还需要加一句话.

#!/usr/bin/python3        # 这句话是为了告诉你的电脑执行这个文件的时候用什么来加载

print("This is a Python script!")

ps:学习心得:简直神操作有木有!!!!心里大喊卧槽!

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
--------------------------------------------------------------OVER-------------------------------------------------------------------------

再次膜拜一下Morvan大大!~您简直是学渣救星!TAT
(侵删)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值