Linux命令(全)

第一阶段:

①查看目录内容
ls(list),查看当前文件夹下的内容

ls常用选项
-a 显示指定目录下的子目录与文件,包括隐藏文件
-l 以列表的方式显示文件的详细信息
-h 配合 -l以人性化的方式显示文件大小

ls通配符的使用
* 代表任意个数的字符
? 代表任意一个字符
[] 表示可以匹配字符组中的任意一个([1234]) or [1-4]

②切换目录
cd(change directory),切换文件夹

cd    切换当当前用户的主目录
cd ~  切换当当前用户的主目录
cd .  保持在当前目录不变
cd .. 返回上一级目录

cd -  可以在最近两次工作目录之间来回切换

pwd(print work directory),查看当前所在的文件夹


②切换目录
cd(change directory),切换文件夹

cd    切换当当前用户的主目录
cd ~  切换当当前用户的主目录
cd .  保持在当前目录不变
cd .. 返回上一级目录

cd -  可以在最近两次工作目录之间来回切换

Linux命令(全)

 

③创建和删除操作
1.touch[文件名],
创建一个文件
touch[.文件名],创建一个隐藏文件
--如果文件不存在,可以创建一个空白文件
--如果文件已经存在,可以修改文件的末次修改日期

2.mkdir[目录名]
即make directory,创建一个目录
mkdir -p A/B/C/D,连续创建多个目录

3.rm[文件名]即remove,删除指定的文件
rm -r 删除目录

④查看文件内容
cat 文件名, concatenate, 查看文件内容
more 文件名, 分屏显示文件内容 




⑤其他
1.tree
tree命令可以以树状图列出文件目录结构
tree -d 只显示目录,不显示文件

2.clear,清屏

3.cp 源文件 目标文件 
表示复制文件或目录

4.查看命令的帮助文档

command --help

man command

5.Tab键自动补全command后所要接的文件名

 

第二阶段:

①删除命令

1. rm 文件名

2. 删除目录 rm -r 目录名

3. -f 强制删除,忽略不存在的文件,无需提示

注:在界面删操作删除文件或者delete文件会回收到Trash里,但rm命令一旦删除文件不可恢复

 

②将给出的文件或目录复制到另一个文件或目录中,相当于Dos的copy命令

1. cp 源文件 目标文件 

Linux命令(全)

Linux命令(全)

2. cp -r 源目录 目标目录

Linux命令(全)

3. 在赋值同名的文件时候,不会有提示直接覆盖,若想要有提示

cp -i 源文件 目标文件

例:如桌面上有1.txt,桌面上的test文件夹有同名的1.txt,内容不同

Linux命令(全)

桌面上的1.txt内容

Linux命令(全)

test文件夹下1.txt的内容

Linux命令(全)

将test文件夹下的1.txt赋值到桌面上

同名时,用cp -i 来提示是否覆盖同名文件的内容,y表示是,n表示否

Linux命令(全)

 

③ mv命令,移动文件或目录(移动文件或目录不需要用-r区分)

1. mv 源文件 目标文件

Linux命令(全)

Linux命令(全)

 

2. 可以做到重命名(文件或目录)

路径不变,修改文件名 

mv -i 文件名 新名称(如果修改文件名在同一文件夹下已有要修改相同名的文件,则用-i选项提示是否覆盖同名文件)

Linux命令(全)

 

④ 查看文件内容(cat/more)

cat 文件名

cat一次性显示全部内容

cat选项 cat-b/cat -n  用来显示行数,b显示除了空行的行数,n显示所有行数

Linux命令(全)

more 文件名

more显示部分内容,按空格键翻页,回车显示一行,b翻滚一屏,f前滚一屏,q退出

Linux命令(全)

 

⑤ 文本搜索 grep命令

选项     含义

-n        显示匹配行及行号

-v        显示不包含匹配文本的行(相当于求反)

-i         忽略大小写

Linux命令(全)

Linux命令(全)

Linux命令(全)

模式查找

参数     含义

^a       行首,搜索以a开头的行

b$       行尾,搜索以b结尾的行

Linux命令(全)

Linux命令(全)

 

第三阶段:

① echo

在终端显示参数指定的文字,通常和重定向联合使用

Linux命令(全)

② 重定向 >和>>

1. 将原本显示在终端的内容输出(>)或追加(>>)到指定文件中

Linux命令(全)

Linux命令(全)

2. 在创建文件的同时赋给内容

Linux命令(全)

③ 管道 |

Linux允许将一个命令的输出可以通过管道作为另一个命令的输入

常用管道的命令有more,grep

例子:将ls-lha的输出结果用grep命令进行匹配含有D的符号,-n表示显示行数

Linux命令(全)

例子:将ls-lha的输出结果用more分屏显示

Linux命令(全)

④ 关机或重启(shutdown)

shutdown(重启shutdown -r)

直接输入shutdown会在一分钟后关机,取消则shutdown -c

Linux命令(全)

shutdown +10表示在10分钟后关机,取消则shutdown -c

Linux命令(全)

shutdown 时间,如shutdown 20:40,则表示在Ubuntu系统的20点40关机,取消shutdown -c

Linux命令(全)

注:在维护服务器的时候,一般加 -r选项重启,直接关机则会导致服务器开机很麻烦

Linux命令(全)

 

⑤ 查看或配置网卡信息

ifconfig   查看/配置计算机当前的网卡的配置信息

ping ip地址  检测与目标地址的连接是否正常

用管道筛选

Linux命令(全)

其中122.168.217.135表示本机的ip地址

127.0.0.1被称为 本地回环/环回地址,一般用来测试本机网卡是否正常

Linux命令(全)

 

⑥ 域名和端口号

域名

有一串用点分割的名字组成,如 www.baidu.com,是ip地址的别名,方便记忆

Linux命令(全)

端口号

ip地址:通过ip地址找到网络上的计算机

端口号:通过端口号找到计算机上运行的应用程序,如:

SSH服务器 22

Web服务器 80

HTTPS  443

FTP服务器 21

 

⑦ SSH远程登录

ssh -p port [email protected](Linux或mac之间的互相连接)

windows下连接linux或mac下的远程(linux下 sudo apt install openssh-server)

putty下载   https://www.chiark.greenend.org.uk/

Linux命令(全)

Linux命令(全)

Xshell下载 https://www.xshellcn.com

user是远程机器的用户名,如果不指定则默认为当前用户

remote是远程机器的地址,可以是ip地址/域名/别名

port 是SSH Server的监听端口,如果不指定,就为默认值22

 

第四阶段:

① scp

scp就是secure copy ,是一个在Linux下用来远程拷贝的命令

            -P port 用来指定端口,一般为22

1. 如把本地当前目录下的1.py文件复制到远程home目录下的Desktop/1.py

            scp -P port 1.py [email protected]:Desktop/1.py

2. 把远程home目录下的Desktop/1.py复制到本地当前目录下的1.py

            scp -P port [email protected]:Destop/1.py 1.py

3. 加上-r选项可传送文件夹

    把当前目录下的demo文件夹复制到远程home目录下的 Desktop

            scp -r demo [email protected]:Desktop

    把远程home目录下的Desktop复制到当前目录下的demo文件夹

            scp -r [email protected]:Desktop demo

注:scp只能在Linux或UNIX系统下使用

      如果在Windows系统中,安装putty,使用pscp命令行工具或者安装FileZilla使用FTP进行文件传输(FTP端口号为21)

      Linux命令(全)

 

② 配置别名

Linux命令(全)

 

③ ls-l扩展

1.

Linux命令(全)

r -> read, w-> write, x -> excute, 分别表示可读,可写,可执行

注:红框第一个huzee表示当前用户所拥有的权限,第二个表示用户组所拥有的权限,第三表示其他用户

Linux命令(全)

Linux命令(全)

2. 硬连接数

表示有多少种方式访问当前目录/文件,如

Linux命令(全)

Linux命令(全)

Desktop_file的硬连接数为6,即有6中方式可以访问到Desktop_file的目录

: 1. 在绝对路径家目录下访问

        2. 当前目录下访问

        3,4,5,6. 在文件所在knn/suanfa2/test_file/time目录下返回上一个文件夹访问

        3,4,5,6. 同上

: 文件的硬连接数一般为1,目录的硬连接数取决于目录里的目录数,包括本身的目录

Linux命令(全)

 

④ chmod 的使用

 chmod可以修改 用户/组 对 文件/目录 的权限

chmod +/-rwx 文件名/目录名

例: 对2.txt文件去掉可读可写的权限

Linux命令(全)

Linux命令(全)Linux命令(全)

对 2.txt增加可读(r)权限,此时可读取文件

Linux命令(全)

对目录设置权限

Linux命令(全)

Linux命令(全)

 

⑤ 超级用户和sudo

超级用户

Linux系统中的root账号通常用于 系统的维护和管理,对操作系统的所有资源具有所有的访问权限

在大多Linux的系统中,不推荐使用root账号登录系统

在Linux安装过程中,系统会自动创建一个用户账号,这个默认的用户被称为标准用户

sudo 

su 是substitute user 的缩写,表示使用另一个用户的身份

sudo命令用来以其他身份来执行命令,预设的身份为root

用户使用sudo,必须先输入密码。之后有5分钟的有效期限,超过时间得重新输入密码

若未经授权的用户企图使用sudo,则会发出邮件警告给管理员

 

⑥ 组管理 终端命令

Linux命令(全)

1. 创建组 sudo groupadd dev

其中dev表示组名,etc是系统配置文件目录,此时用cat查看配置文件夹下的group文件,就修改了group文件,新增了dev

Linux命令(全)

Linux命令(全)

2. 删除组 sudo groupdel dev

再次用 cat /etc/group 查看group文件,此时dev不存在

Linux命令(全)

3. 修改组 sudo chgrp dev 目录/文件

test文件夹已经属于我们创建的dev组中

Linux命令(全)

 

⑦ 用户管理

 

1. 创建用户/2. 设置密码/3. 删除用户

Linux命令(全)

创建一个python用户,并设置密码

Linux命令(全)

此时家目录下新增了python用户,对应的组为之前设置的dev

Linux命令(全)

删除python用户

Linux命令(全)

2.查看用户信息

Linux命令(全)

id 用户名 用于查看用户(uid)和组(gid)的信息

用户信息在根目录下etc目录下的passwd文件中

Linux命令(全)

其中,由6个:组成的7个信息,分别是1用户名,2密码(x表示加密的密码),3UID(用户标识),4GID(组标识),5用户全名或本地账号,6家目录,7登录使用的shell,就是登录时候使用的终端命令ubuntu默认使用的dash(即远程登录时候为dash)

组信息在根目录下etc目录下的group文件中

Linux命令(全)

 

who

在windows中使用putty登录ubuntu上的python用户

Linux命令(全)

此时在ubuntn中终端中,输入who,会显示两个用户的登录状态

日期表示开机登录时间,(:0)表示本机用户,(192.168.217.1)表示远程登录的ip地址

Linux命令(全)

在不同用户终端输入命令whoami会显示自己所属的用户

windows远程登录下

Linux命令(全)

ubuntu下.

Linux命令(全)

 

⑧ usermod

Linux命令(全)

Linux命令(全)

一般用户的组名在创建的时候已经配置了组信息,所以修改用户的附加组比较常用,sudo usermod -G 要附加的组 用户名

查看 huzee用户的用户(UID)和组(GID)的信息,红线下标表示附加组

Linux命令(全)

查看 python用户的用户(UID)和组(GID)的信息,没有附加组

Linux命令(全)

用windows远程连ubuntu下的python用户,创建python2用户

Linux命令(全)

在根目录下的etc文件夹下的passwd文件中没有python2的用户信息,用户python不能使用sudo等命令

Linux命令(全)

此时修改用户python的附加组,给用户python附加sudo的权限,sudo usermod -G sudo python

Linux命令(全)

用户python已经拥有了sudo的权限

Linux命令(全)

Linux命令(全)

修改用户登录shell(usermod -s /bin/bash)

Linux命令(全)

Linux命令(全)

修改之后远程登录到用户python时使用的shell就成了bash

Linux命令(全)

 

 

3. which命令:可以查询可执行命令所在位置

如查询python命令所在的文件夹

Linux命令(全)

useradd命令所在的文件夹

Linux命令(全)

其中 bin(binary)是二进制执行文件目录,主要用于具体应用

sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理

/usr/bin(user commands for applications)后期安装的一些软件

/usr/sbin(super user commands for applications)超级用户的一些管理程序

4. su(切换用户)

Linux命令(全)

-表示且切换用户家目录

Linux命令(全)

不加-则不会切换到用户的家目录

Linux命令(全)

su不接用户名,可以切换到root,root具有所有权限,不安全,不推荐使用

Linux命令(全)

5. 修改文件权限

Linux命令(全)

Linux命令(全)

chown 用户名 目录名/文件名

Linux命令(全)

chmod在设置权限时,可以使用简单的三个数字分别对应拥有者//其他用户的权限

Linux命令(全)

chmod 755 文件名    chmod -R 775 目录名(修改目录及目录下所有文件的权限)

例将2.txt改为 u=rwx,g=rx,o=r

Linux命令(全)

Linux命令(全)

 

第五阶段:

① 系统信息相关命令

1. 时间和日期

Linux命令(全)

Linux命令(全)

Linux命令(全)

2. 磁盘信息

Linux命令(全)

-h 可以以人性化的方式显示文件大小

Linux命令(全)

du -h[目录名]  , 不接目录名默认当前文件夹

Linux命令(全)

3. 进程信息

所谓进程,通俗来说就是 当前正在执行的一个程序

Linux命令(全)

ps不加选项默认只会显示当前用户通过终端启动的应用程序

Linux命令(全)

ps选项功能说明

Linux命令(全)

ps a 和 ps au

Linux命令(全)

top命令(实时显示当前运行的进程状况并排序)

Linux命令(全)

kill命令  kill - 9 表示强行终止

Linux命令(全)

 

② 其他命令

Linux命令(全)

1. find(查找文件)

Linux命令(全)

查找当前文件夹下名字包含2的文件

Linux命令(全)

查找桌面下以为.py命名的文件

Linux命令(全)

2. 软链接(ln -s)

Linux命令(全)

注:1. 没有 -s选项建立的是一个硬链接文件

       2. 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够用正常使用

ln -s 被链接的文件的绝对路径 链接文件

Linux命令(全)

Linux命令(全)

3. 硬连接(ln)

没有 -s选项建立的是一个硬链接文件

Linux命令(全)

注:Linux中,文件名和文件的数据是分开存储的

创建一个硬链接,被链接的源文件为test目录下的1.py,链接名称为hard

Linux命令(全)

删除链接的源文件名

Linux命令(全)

用cat命令查看硬链接与软链接的内容,此时软链接无效,而硬链接依然可以打开文件

Linux命令(全)

4. 打包压缩

在不同的系统中,常用打包压缩的方式是不同的

Linux命令(全)

Linux命令(全)

tar选项说明

Linux命令(全)

例:在桌面创建1.py,2.py,3.py,3个文件并将其打包为py.tar,再解包

Linux命令(全)

打包命令 tar -cvf  包名  被打包文件

Linux命令(全)

Linux命令(全)

删除所创建的py文件

Linux命令(全)

解包

Linux命令(全)

3个py文件又被重新解包到桌面

Linux命令(全)

注:tar只负责打包,不负责压缩

5 压缩/解压缩

1) gzip

tar和gzip结合使用可以实现文件的打包和压缩

    tar负责打包,不负责压缩

    用gzip 压缩 tar打包后的文件,其扩展名一般用  xxx.tar.gz

    在Linux中,最常见的压缩文件的格式就是 xxx.tar.gz

在tar命令中有个选项 -z 可以调用 gzip,从而方便的使用打包压缩和解压缩的功能,命令格式如下

Linux命令(全)

例在桌面上创建3个py文件

Linux命令(全)

在桌面创建一个gz文件夹,打包压缩py文件,把打包压缩的文件解压到指定的gz文件夹中(文件夹必须提前存在

Linux命令(全)

2)bzip2

在tar命令中有一个 -j  选项可以调用bzip2,从而方便的使用打包压缩和解压缩的功能,命令格式如下

Linux命令(全)

例子同上,不用 -C 指定解压的文件则会解压到当前文件夹

Linux命令(全)

6. 软件安装(apt)

apt是Advance Packaging Tool的缩写,是Linux下一款安装包管理工具,可以在终端安装/卸载/更新软件包

Linux命令(全)

例如 sudo apt install htop(htop是查看当前进程的软件)

配置软件源

Linux命令(全)

Linux命令(全)