Linux命令笔记

一、基本命令

1.查看目录命令

命令 说明
ls 查看当前目录信息
tree 以树状方式显示目录信息
pwd 查看当前目录路径
clear 清除终端内容

2.切换目录命令

命令 说明
cd 目录 切换到指定目录
cd ~ 切换到当前用户的主目录
cd … 切换到上一级目录
cd . 切换到当前目录
cd - 切换到上一次目录

注意:

  • cd命令切换目录时,这个目录必须存在。
  • cd 后面不写目录等价于cd ~

3.绝对路径和相对路径


1. 绝对路径

从根目录算起的路径叫做绝对路径(写代码时尽量使用绝对路径

/home/python/Desktop

2. 相对路径

从当前目录算起的路径叫做相对路径

./test/hello          `.`:代表当前目录
../static/images  	 `..`:代表上一级目录

3. 绝对路径和相对路径的使用

  1. 使用绝对路径切换到桌面
cd /home/python/Desktop
  1. 在下载目录以相对路径切换到桌面
cd Downloads
cd ../Desktop
  1. 在桌面使用相对路径切换到上一级目录的上一级目录
cd Desktop cd ../../

4.创建、删除、复制、移动文件及目录命令

命令 说明
touch (触摸,做)文件名 创建指定文件
mkdir 目录名 创建目录(文件夹)
rm 文件名或者目录名(-r) 删除指定文件或者目录
rmdir 目录名 删除空目录
cp(–r ) 拷贝文件、拷贝目录
mv 移动文件、移动目录、重命名
  • rm、cp:创建、拷贝目录需要加上 –r 选项:rm -r 目录名
  • cp:(可以加路径)
    • cp 被拷贝文件名 拷贝后文件名
    • cp dir  ../newdir :将dir目录拷贝到上一级成newdir目录
      
  • mv:移动目录不需要加选项
  • mv:命令还可以重命名文件和目录
mv dir cp newname 将dir目录重命名成newname

5.终端命令格式的组成

command [-options] [parameter]

每项信息的说明:

  • command:命令名, 比如: ls、pwd
  • [-options]:选项,可以有零个、一个或者多个选项,多个选项可以合并,比如使用的 -r 就是选项。
  • [parameter]:参数,可以有零个、一个 或者 多个参数, 比如: touch 文件名、mkdir 目录名、cd 目标目录(路径),这些文件名和目录名都是参数。
  • []:代表可选
eg: cp -r dir newdir

注意:

  • 终端命令完整格式: 命令名 选项(可选) 参数(可选)
  • 选项:用于调整命令的功能,比如:-r选项调整cp命令的功能。
  • 选项可以分为短选项和长选项
    1. 短选项的格式: '-'后面接单个字母, 比如:-r
    2. 长选项的格式: '–'后面接单词, 比如:–help
  • 参数:命令的操作对象,一般是文件名或者目录名。

6.查看命令帮助

  • –help 使用说明: 命令 --help

  • man 使用说明: man 命令

eg:  ls --help          
	 man ls

man命令的说明:

操作键 说明
空格 显示下一屏信息
回车 显示下一行信息
b 显示上一屏信息
f 显示下一屏信息
q 退出

7.常用命令的选项

1.ls命令选项

命令选项 说明
-l 以列表方式显示
-h 以大小单位显示,默认是字节
-a 显示隐藏文件和隐藏目录

h:一般和l一起用 eg: ls -l -h 或 ls -lh

2.mkdir和rm命令选项

1.mkdir命令选项
命令选项 说明
-p 创建所依赖的文件夹

创建多级目录:

mkdir aa/bb/cc -p  创建aa文件夹中有bb文件夹,bb文件夹里有cc文件夹
2. rm命令选项
命令选项 说明
-i 交互式提示(输入y/n,可以提示遇到重名文件是否覆盖)
-r 递归删除目录及其内容
-f 强制删除,忽略不存在的文件,不提示文件不存在
-d 删除空目录

3.cp和mv命令选项

1. cp命令选项
命令选项 说明
-i 交互式提示(可以提示遇到重名文件是否覆盖)
-r 递归拷贝目录及其内容
-v 显示拷贝后的路径描述
-a 保留文件的原有权限
2. mv命令选项
命令选项 说明
-i 交互式提示(可以提示遇到重名文件是否覆盖)
-v 显示移动后的路径描述

二、高级命令

1.重定向命令

能够使用重定向命令将终端显示内容重定向到文件

命令 说明
> 如果文件存在会覆盖原有文件内容,相当于文件操作中的‘w’模式
>> 如果文件存在会追加写入文件末尾,相当于文件操作中的‘a’ 模式
eg:  ls > 01.txt :将ls的结果覆盖到01.txt
	 ls > 01.txt :将ls的结果追加到01.txt

2.查看文件内容命令

1. 查看文件内容命令的使用

命令 说明
cat 查看小型文件
more 分屏查看大型文件 (查看方式和man相同)
| 一个命令的输出可以通过管道做为另一个命令的输入,可以理解成是一个容器,存放在终端显示的内容
eg:cat 1.txt 2.txt 一次性看两个文件
   cat 1.txt 2.txt > 3.txt 将两个文件的内容放进3.txt

操作键说明:

操作键 说明
空格 显示下一屏信息
回车 显示下一行信息
b 显示上一屏信息
f 显示下一屏信息
q 退出

说明:

管道(|)一般结合 more 命令使用,主要是分配查看终端显示内容。

eg:tree /bin more 这时是直接显示到终端
   tree /bin | more 这时是先存放到管道再将这个输入当输入用more来查看

3. 小结

  • 查看小文件使用 cat 命令
  • 分屏查看大型文件使用 more 命令,
  • 查看终端显示内容并分屏展示,使用 管道(|) 结合 more 命令。

3.链接命令

1. 链接命令的介绍

链接命令是创建链接文件(类似快捷方式),链接文件分为:

  • 软链接
  • 硬链接
  • 可以使用**ll命令(显示详细的文件信息)**查看链接
  • 硬链接的作用是可以给重要文件创建硬链接,能够防止文件数据被误删。
  • 删除源文件,软链接失效,但是硬链接依然可以使用。
命令 说明
ln -s 创建软链接
ln 创建硬链接

2. 软链接

类似于Windows的快捷方式

eg:ln -s ~/Desktop/1/1.txt ~/Desktop/1_s.txt
  • 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
  • 删除源文件则软链接失效
  • 可以给目录创建软链接
  • 作用是方便文件的快速访问,比如:给一个复杂路径下的文件创建一个软链接,以后就可以通过软链接完成快速访问操作

3. 硬链接

类似于源文件的一个别名,也就是说这两个名字指向的是同一个文件数据。

注意点:

  • 创建硬链接使用相对路径和绝对路径都可以
  • 删除源文件,硬链接还可以访问到数据。
  • 创建硬链接,硬链接数会加1,删除源文件或者硬链接,硬链接数会减1。
  • 创建软链接,硬链接数不会加1
  • 不能给目录创建硬链接

硬链接数:

硬链接数就是文件数据被文件名使用的次数, 好比引用计数

4.文本搜索命令

  • grep 命令是完成文本搜索操作的,搜索文件内是否有该数据
  • 文本搜索的命令格式: grep 选项 文本搜索内容

1. grep命令的使用

命令 说明
grep 查找、搜索文件内容

2. grep命令选项的使用

命令选项 说明
-i 忽略大小写
-n 显示匹配行号
-v 显示不包含匹配文本的所有行

3. grep命令结合正则表达式的使用

正则表达式 说明
^ 以指定字符串开头
$ 以指定字符串结尾
. 匹配一个非换行符的字符
eg: grep ^h 01.txt    grep h$ 01.txt grep   
    h.l 01.txt grep:查找以h开头并且后面有l的内容

4. 扩展

  • grep 命令还可以文本搜索管道中的内容,比如: ls | grep ‘lib’
  • 在使用 grep 命令的时候还可以省略搜索内容的引号,比如: ls | grep libgrep hello 1.txt

5.查找文件命令

  • find命令是完成查找文件操作的
  • 查找文件的命令格式: find 指定查找目录 -name “文件名”

1. find命令及选项的使用

命令 说明
find 在指定目录下查找文件(包括目录)

find命令选项:

选项 说明
-name 根据文件名(包括目录名)字查找

2. find命令结合通配符的使用

通配符:

是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件,其他命令也可以使用

通配符 说明
* 代表0个或多个任意字符
? 代表任意一个字符

扩展:

通配符不仅能结合 find 命令使用,还可以结合其它命令使用, 比如: ls、mv、cp 等,这里需要注意只有 find 命令使用通配符需要加上引号。

eg: find . -name "02.txt" "."表示当前目录通过名字查找02.txt
    find . -name "0*.txt" 查找以0开头以.txt结尾的文件
    find . -name "*.txt" 查找以.txt结尾的文件
    find . -name "0?.txt" 查找一个两位字符文件名的txt文件,并且第一个字符是0

6.压缩和解压缩命令

1. 压缩格式的介绍

Linux默认支持的压缩格式:

  • .gz 压缩时间快但是文件不会那么小
  • .bz2 压缩比较小但时间比较长
  • .zip

说明:

  • .gz和.bz2的压缩包需要使用tar命令来压缩和解压缩
  • .zip的压缩包需要使用zip命令来压缩,使用unzip命令来解压缩

压缩目的:

  • 节省磁盘空间

2. tar命令及选项的使用

命令 说明
tar 压缩和解压缩命令

tar命令选项:

选项 说明
-c 创建打包文件
-v 显示打包或者解包的详细信息
-f 指定文件名称, 必须放到所有选项后面
-z 压缩或解压缩(.gz)
-j 压缩或解压缩(.bz2)
-x 解包
-C 解压缩到指定目录
eg: tar -cvf 1.tar *.txt      将所有.txt文件压缩到1.tar 创建压缩包并且显示打包详细信息,再指定文件名
    tar -zcvf 1.tar.gz *.txt  通过gz的压缩格式压缩
    tar -zxvf 1.tar.gz        解压gz
    tar -jcvf 1.tar.bz2 *.txt 通过bz2的压缩格式压缩
	tar -jxvf 1.tar.bz2       解压bz2
	tar -jxvf 1.tar.bz2 -C ../解压到上一级文件    

tar包属于打包文件,.tar只是将文件打包,文件的大小没什么变化。tar包一般用于文件备份。

tar.gz包是压缩文件,经过gzip压缩后的tar文件,形成tar.gz包,扩展名为“.tar.gz”。tar.gz包一般情况下都是源代码的安装包,需要先解压再经过编译、安装.才能执行。总而言之它是一个压缩文件。

.tgz等价于.tar.gz、.tbz与tb2等价于.tar.bz2

3. zip和unzip命令及选项的使用

命令 说明
zip 压缩成.zip格式文件
unzip 解压缩.zip格式文件
eg: zip 1.zip 01.txt 02.txt

unzip命令选项:

选项 说明
-d 解压缩到指定目录

说明:

  • 压缩文件尽量使用.gz格式,因为占用空间较少

  • 使用zip命令压缩的文件占用空间比较多, 当时比较通用,操作更加简单。

  • .gz和.bz2的压缩文件使用tar命令来完成压缩和解压缩

  • .zip的压缩文件使用zip和unzip命令来完成压缩和解压缩

7.文件权限命令

ls -lh   或者 ll
文件类型和权限   用户名 用户组名 大小 时间          文件名
-rw-rw--r--  1 demo  demo   10k  4月 23 08:10  1.txt
drwxr-xr-x   3 demo  demo   15k  4月 22 08:36  1

第一列表示文件类型:-普通文件 d 文件夹

后面九个由三个三元组字符组成
第一个代表文件所有者用户权限
第二个代表文件用户组的权限
第三个代表其他用户的权限
r:可读 w:可写 x:可执行 -:没有权限

1. chmod命令的介绍

命令 说明
chmod 修改文件权限

chmod修改文件权限有两种方式:

  • 字母法格式: chmod 不同角色设置的权限 文件
  • 数字法格式: chmod 不同角色的权限值 文件名

2. chmod 字母法的使用

角色说明:

角色 说明
u user, 表示该文件的所有者
g group, 表示用户组
o other, 表示其他用户
a all, 表示所有用户

权限设置说明:

操作符 说明
+ 增加权限
- 撤销权限
= 设置权限
chmod u+r 01.txt    对用户增加读权限
chmod u+rwx 01.txt  对用户增加读、写和执行权限
chmod u-r 01.txt    对用户撤销读权限
chmod a=rwx 01.txt  设置所有用户权限为可读可写可执行

3. chmod 数字法的使用

数字法就是“rwx” 这些权限也可以用数字来代替

权限说明: 口诀:读写行4210

权限 说明
r 可读,权限值是4
w 可写,权限值是2
x 可执行,权限值是1
- 无任何权限,权限值是0
chmod 000 a.py 所有权限都为空
chmod 4 a.py   给其他人增加读权限
chmod 44 a.py  给其他人和用户组增加读权限
chmod 776 a.py 4+2=6,给其他人增加读写权限,
               4+2+1=7,给用户和用户组增加可读可写可执行权限

即顺序是从后往前

8.获取管理员权限的相关命令

  • sudo 是临时获取管理员权限
  • sudo -s 是切换到管理员用户,一直使用管理员权限,需要谨慎操作。
  • exit 是退出当前用户
  • passwd 默认修改当前用户密码

1. sudo命令的使用

命令 说明
sudo -s 切换到root用户,获取管理员权限
sudo 某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo

说明:

  • 如果只是某次操作需要使用管理员权限建议使用 sudo , 也就是说临时使用管理器权限。
  • 如果大量操作都需要使用管理员权限 sudo –s, 但是操作需谨慎。

2. whoami命令的使用

命令 说明
whoami 查看当前用户

3. exit命令的使用

命令 说明
exit 退出登录用户

说明:

  • 如果是切换后的登陆用户,退出则返回上一个登陆账号。
  • 如果是终端界面,退出当前终端。

4. who命令的使用

命令 说明
who 查看所有的登录用户

5. passwd命令的使用

命令 说明
passwd 修改用户密码,不指定用户默认修改当前登录用户密码

6. which命令的使用

命令 说明
which 查看命令位置

7. 关机和重启命令的使用

命令 说明
shutdown –h now 立刻关机
reboot 重启

9.用户(组)相关操作

  • 查看用户是否创建成功,可以查看**/etc/passwd**这个文件
  • 查看用户组是否创建成功,可以查看**/etc/group**这个文件

1.用户相关操作

创建(添加)用户:
	sudo useradd -m 用户名  
创建用户并指定用户组使用: 
	sudo useradd -m -g 用户组 用户名
查看用户信息:
	id
设置密码:
	sudo passwd 用户名
切换用户:
	sudo su - 用户名
删除用户:
	sudo userdel -r 用户名   
		

创建用户时:
​ ①-m自动创建用户主目录,主目录的名字就是用户名
​ ②-g指定用户所属的用户组,默认不指定会自动创建一个同名的用户组
删除用户时:
​ ①-r 用户名删除用户主目录,必须要设置,否则用户主目录不会删除
​ ②删除用户,默认同名的用户组也会被删除

2.用户组相关操作

创建用户组使用: 
	sudo groupadd 用户组名
创建用户并指定用户组使用: 
	sudo useradd -m -g 用户组 用户名
删除用户组使用: 
	sudo groupdel 用户组名
		如果用户组下面有用户先删除用户在删除用户组
查看用户组信息使用 
	/etc/group文件

3.相关信息说明

1.passwd文件中的每项信息说明
PCGuo:x:1000:1000:PCGuo:/home/PCGuo:/bin/sh
  • 第一个:用户名
  • 第二个:密码占位符
  • 第三个:uid, 用户id
  • 第四个:gid, 用户所在组id
  • 第五个:用户描述, 可选,
  • 第六个:用户的主目录所在位置
  • 第七个:用户所用 shell 的类型,一般由bash或者sh,默认不设置是sh类型
2.group文件中的每项信息说明,
PCGuo:x:1001:
  • 第一个:用户组名
  • 第二个:用户组密码占位符,一般Linux系统的用户组都没有密码的
  • 第三个:组id
3.id命令查看用户信息,每项信息说明:

uid=1001(PCGuo) gid=1001(PCGuo))组=1001(PCGuo)

  • 第一个: uid 表示用户id
  • 第二个: gid 表示用户组id
  • 第三个: 组 表示用户所在的用户组

10.远程登录、远程拷贝命令(可以直接使用FileZilla)

命令 说明
ssh 远程登录
scp 远程拷贝

1.ssh命令的使用

ssh是专门为远程登录提供的一个安全性协议,常用于远程登录,想要使用ssh服务,需要安装相应的服务端客户端软件。ssh命令是远程登录主机电脑,相当于直接操作的是远程电脑。

软件安装步骤:

  1. 假如Ubuntu作为服务端,需要安装ssh服务端软件. 执行命令:
sudo apt-get install openssh-server
  1. 在Ubuntu安装ssh客户端命令:
sudo apt-get install openssh-client
  1. win10上按着ssh:

设置-》应用-》应用和功能-》可选功能-》添加功能-》选择OpenSSH 服务器 安装即可

  1. 客户端电脑如果是 macOS 系统则不需要安装 ssh 客户端软件,默认已经安装过了,直接可以使用 ssh 命令
  2. 客户端电脑如果是Windows系统则需要安装OpenSSH for Windows这个软件

ssh命令格式:

ssh 用户名@ip地址

查看ip:ifconfig

2.scp命令的使用

1.远程拷贝文件
  • 拷贝本地文件到远程服务器:

    scp 本地文件 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
    
  • 拷贝远程服务器的文件到本地

    scp 远程服务器用户名@远程服务器ip地址:远程服务器文件指定拷贝到本地的路径
    
2.远程拷贝目录︰
  • 拷贝本地目录到远程服务器:

  • scp -r本地目录远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
    
  • 拷贝远程服务器的目录到本地

  • scp -r远程服务器用户名@远程服务器ip地址:远程服务器目录指定拷贝到本地的路径
    

    -r表示递归拷贝整个目录

3.FileZilla软件的使用

FileZilla 是一个免费开源的FTP软件, 使用可视化方式进行上传和下载文件。以后可以通过 FileZilla 来代替 scp 命令。大量的文件上传和下载可以通过可视化工具FileZilla来完成。

  1. 在虚拟机输入"ifconfig"查看inet,即ip地址
  2. 在FileZilla中点击新站点,协议为SFTP-SSH File Transfer Protocol;主机输入虚拟机ip地址,用户名和密码点击连接即可
  3. 使用时可以直接拖拽进行远程拷贝文件

远程链接显示:Network error: Connection refused

安装ssh服务端软件:sudo apt-get install openssh-server 即可解决

11.软件安装和卸载

1. 软件安装和卸载的介绍

  • 离线安装/卸载(deb文件格式安装)

     安装:sudo dpkg -i 安装包名.deb  -i(install安装)
     卸载:sudo dpkg -r 安装包名      -r(remove卸载)
    
  • 在线安装/卸载(apt-get方式安装)

    安装:sudo apt-get install 安装包名
    卸载:sudo apt-get remove 安装包名
    

    主要用于在线从互联网的软件仓库中搜索、安装、升级、卸载软件

2. 更改镜像源

因为使用 apt-get 命令默认是从国外的服务器下载安装软件的,会导致下载安装速度很慢,所以需要更改成国内的镜像源服务器。使用 apt-get 命令也就是在线安装需要更改镜像源,提高下载和安装速度。

镜像源说明:

镜像源就是下载软件来源的服务器,国内的镜像服务器比如:阿里镜像服务器、清华大学镜像服务器等。国内的镜像服务器和国外服务器软件信息是同步的。

可视化方式更改镜像源:

Ubuntu点击软件和更新-》下载自:中国的服务器-》点击其他站点,选择一个服务器eg:mirror.aliyun.com

你可能感兴趣的:(Linux,人工智能,linux,ubuntu)