《Linux》Linux笔记

裴凯定
2023-12-01


linux笔记

操作系统发展史

Unix、mini-UNIX、Linux都是用C语言开发的
Unix的作者是肯·汤普逊和丹尼斯·里奇,发布时间是1973年
mini-Unix的作者是塔能鲍姆 发布时间1987年
Linux内核的作者是林纳斯,发布时间是1991年
Linux在服务器、嵌入式、桌面领域都有应用,主要在服务器领域
Linux 免费、稳定、高效、开源

文件系统区别

Windows操作系统有可能会有多个盘符(C、D、E、F)
Linux操作系统没有多个盘符,只有一个根目录(/)

常用linux选项

命令的格式:命令名 选项 参数
注意:有些命令选项可以放到参数的后面,scp 选项必须要放到命令名的后面

  • ls的选项

    -l: 以列表的方式取显示
    -a: 显示隐藏文件
    -h: 显示文件大小的单位
    ll: 是ls -al的缩写, 显示隐藏文件并且以列表方式显示 , l --> ls

  • mkdir的选项

    -p: 把依赖文件夹提取创建好,比如: mkdir 123/456/789 -p

  • rm的选项

    –r: 以递归的方式删除文件夹里面的所有内容
    –i: 显示删除的时候提醒信息
    –v: 显示删除后的描述信息
    –d: 删除空目录
    –f: 如果文件或者目录存在则删除,否则就不删除也不会报错

  • cp的选项

    -i:拷贝文件的时候如果指定目录有该文件需要显示提醒信息
    -v:显示拷贝文件的路径描述
    -r:以递归的方式拷贝文件夹里面的所有内容

  • mv的选项

    -i:移动文件显示提醒信息
    -v:显示移动后的路径描述

linux高级命令

  1. 重定向命令:>, >>
  2. 查看或者合并文件内容:cat
  3. 分屏显示:more
  4. 管道:|
  5. 建立链接文件:ln
  6. 文本搜索:grep
  7. 查找文件:find
  8. 通配符
  9. 打包及压缩:tar
  10. 修改文件权限:chmod
  11. 查看命令位置:which
  12. 切换到管理员账号:sudo -s
  13. 查看当前用户:whoami
  14. 设置用户密码:passwd
  15. 退出登录账户: exit
  16. 查看所有的登录用户:who
  17. 关机重启:reboot、shutdown

远程登录和远程拷贝

  1. 远程登录:ssh 用户名@IP
  2. 远程拷贝:scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径 /保存到本机的绝对/相对路径

小结:

  • scp可以实现Ubuntu远程连接和文件上传和下载
  • 在windows系统上远程连接Ubuntu需要安装OpenSSH软件
  • FileZilla工具通过SFTP协议实现文件上传和下载

软件安装与卸载

  • Ubuntu软件操作的相关命令

    sudo apt-get update 更新源
    sudo apt-get install package 安装包
    sudo apt-get remove package 删除包

  • Ubuntu软件安装常见的两种方式

    下载deb扩展名的安装包直接双击安装
    通过apt-get工具安装,90%都是以这种方式安装

  • Ubuntu镜像源默认在国外,国内下载比较慢,需要将镜像源更改到国内

    通过Ubuntu软件中心更改
    手动更新sources.list文件并且需要执行sudo apt-get update 进行更新

编辑器vim

  • vim有三种基本工作模式

    命令行模式
    编辑模式
    末行模式

  • vim基础操作

    • 进入插入模式:
    • 进入命令模式:
      ESC:从插入模式或末行模式进入命令模式
    • 移动光标:
    • 删除命令:
    • 撤销命令:
    • 重复命令:
    • 文本行移动:
    • 复制粘贴:
    • 可视模式:
    • 替换操作:
    • 查找命令:
    • 替换命令:
      末行模式下,将当前文件中的所有abc替换成123 :%s/abc/123/g
      末行模式下,将第一行至第10行之间的abc替换成123:1, 10s/abc/123/g
      符号说明: %表示整个文件,1, 10表示1到10行范围内,s表示替换,g表示全局

常用Linux命令

  • 重定向(>,>>): 在终端显示的内容信息重写规定方向,保存到指定文件里面,以后查看数据是文件查看就可以了

    总结: ls, cat, tree都可以使用重定向

  • gedit:文本编辑工具,可读可编辑

  • cat: 内容在终端显示,不能进行编辑,提示:适合查看小型文件,大型文件使用分屏方式显示(more)

    文件合并:cat 1.txt 2.txt > 3.txt

  • 管道: 可以理解成是一个容器,存放在终端显示的内容

    总结: ls /bin | more , cat, tree, ls都是可以结合管道使用完成分屏显示的

  • more:分屏显示

    f: 表示下一页
    空格: 表示下一页
    回车: 表示下一行
    b: 表示上一页
    q: 退出

  • 连接

    软连接:可以理解成快捷方式,把原文件删除掉通过软链接无法打文件的数据, 提示:创建软连接不会对硬链接数加1
    硬连接: 同一个数据有多个文件名在使用,某个文件删除掉,还可以通过其它文件名访问这个文件的数据, 提示:创建硬链接硬链接数会加1
    提示:如果创建的软链接没有和原文件在同一个目录里面,那么需要使用绝对路径创建软连接

  • grep: 根据指定的内容在文件中进行查找

    grep “a” 8.txt : 根据指定内容在文件中进行查找
    -n:行号, -i:忽略大小写 -v: 取反

    总结:
    grep支持的正则表达式有 ^ $ . 和 [ ]

  • find:在指定目录查找对应的文件

    find . -name “.txt”: 在当前目录查找后缀是.txt的文件, -name根据文件名查找
    find . -perm 666: 在当前目录查找文件权限是可读可写的, -perm根据权限查找

    总结:
    find支持的通配符有 ? [ ]

  • 通配符

    通配符包括 ? _ 和 [ ] , 主要用来进行模糊查询. 其中 [ ] 表示匹配任意列举中的一个字符.
    ls支持的通配符有 _ ? 和 [ ]

  • tar: 打包、压缩、解包、解压缩

    打包 tar -cvf test.tar *.txt, -c: 表示要打包, -v:显示文件打到包里面
    -f:表示文档名称,提示-f必须放到所有选项的后面
    解包 tar -xvf test.tar , -x:表示解包

  • tar.gz

    打包及压缩合并的命令:tar -zcvf test.tar.gz *.txt
    解压缩及解包合并的命令:tar -zxvf test.tar.gz ->得到对应的文件
    指定解压缩的路径 tar -zxvf test.tar.gz -C …/BBB, -C:指定解压缩后的路径

  • tar.bz

    tar -jcvf test.bz2 *.txt -> test.bz2
    tar -jxvf test.bz2 -> 得到对应的文件
    -C: 指定解压缩的路径: tar -jxvf test.bz2 -C …/BBB

  • zip的压缩及解压缩

    zip test *.txt -> test.zip ,提示:压缩包的后缀不需要指定默认是.zip
    unzip test.zip -> 得到是压缩包里面的文件
    unzip -d ./123 test.zip -> 解压到指定路径 , -d:表示解压的路径

  • chmod:修改权限

    -r(4):可读 -w(2):可写 -x(1):可执行
    u:当前用户 g: 同组用户 o: 其它用户 a:所有用户
    +:添加权限, -:撤销权限 , = : 赋值权限
    chmod 000 1.txt : 全部没有权限
    chmod a=- 1.txt chmod a= 1.txt : 全部没有权限
    chmod 777 1.txt chmod a=rwx 1.txt : 都权限,可读可读可执行
    chmod 664 1.txt chmod u=rw,g=rw,o=r 1.txt 设置不同用户不同权限

  • 常用linux命令

    cp选项(补充说明): -a表示保留文件原有权限,-a包含-r,也就是使用-a也可以拷贝文件夹
    which : 查看命令的路径
    sudo -s: 切换到管理员账号
    passwd:修改密码
    who :当前那些用户登陆
    whoami:当前电脑登陆的用户是谁
    exit:退出
    ssh: 远程登陆 44.1 ssh : 可以远程登陆服务端可以通过vim修改文件

  • Linux命令(ping, ifconfig)

    查看或配置网卡信息:ifconfig
    测试远程主机连通性:ping

    小结
    1.ping 127.0.0.1 检查本地网卡是否正常
    2.ping www.baidu.com 检查是否能上公网
    3.ping 当前局域网的ip地址 检查是否在同一个局域网内

  • scp: 远程拷贝

    scp 1.txt python@192.168.107.132:/home/python/Desktop ,把本地文件拷贝到服务器端
    scp -r test python@192.168.107.132:/home/python/Desktop,把本地文件夹拷贝到服务器端
    scp python@192.168.107.132:/home/python/Desktop/1.txt . , 把服务端的文件拷贝的本地
    scp -r python@192.168.107.132:/home/python/Desktop/test . , 把服务端的文件夹拷贝的本地

  • apt list:支持的安装包

  • cp: 拷贝

    把文件拷贝到指定路径:cp 文件名 路径
    把指定路径的文件拷贝到指定路径:cp 路径/文件名 路径
    先把文件拷贝到指定目录然后再重命名:cp 文件名 路径/新的文件名
    拷贝文件夹:cp 文件夹 路径 -r(提示:-r表示以递归的方式把文件夹下的所有文件拷贝过去)

vim命令

vim的使用

命令模式, 编辑模式, 末行模式, 命令模式是编辑模式和末行模式的中转站

常用vim命令

  1. i: 进入编辑模式
  2. yy: 复制光标所在行 复制多行: 数字+yy
  3. p: 粘贴, 粘贴多次: 数字+p
  4. dd(删除、剪切), 剪切或者删除多行:数字+dd
  5. V: 选中多行
  6. 上下左右: k:上, j:下, l:右 ,h:左 等同于方向键
  7. x: 从前往后删除一个字母
  8. X: 从后往前删除一个字母
  9. u: 撤销
  10. shift + >: 往右缩进
  11. shift + <: 往左缩进
  12. .:重复上一次操作
  13. G: 回到最后一行
  14. gg: 回到第一行 1G
  15. 18G: 回到指定行
  16. shift + 4:回到行末
  17. shift + 6:回到行首
  18. 搜索: :/1 n:查看下一个搜索到的内容, N:查看上一个搜索到的内容
  19. 替换: :%s/1/2/g %: 整个文件, s:替换 g:全局
  20. ctr+f: 下一页
  21. ctr+b: 上一页
  22. :wq, :x: 保存退出

端口

  • 端口

    端口是传输数据的通道
    端口号是标识端口的一个编号
    在linux系统中,端口号有65536(2的16次方)个

  • 知名端口号(Well Known Ports)

    知名端口号: 系统程序使用的端口号
    知名端口号是众所周知的端口号,范围从0到1023
    80端口分配给HTTP服务
    21端口分配给FTP服务

  • 动态端口号(Dynamic Ports)

    动态端口号: 程序员开发应用程序使用端口号, 之所以称为动态端口,是因为它一般不固定分配某种服务,而是动态分配。
    动态端口的范围是从1024到65535
    当这个程序关闭时,同时也就释放了所占用的端口号

  • 怎样查看端口号

    用 netstat -an 查看程序所使用的端口号
    lsof -i [tcp/udp]:2425 查看端口号对应的应用程序
    提示: 如果端口号找不到应用程序,使用管理员权限加上sudo

  • 网络通信的流程

    网络通信的流程是先通过ip地址找到网络中的设备,再通过端口号来找到对应的端口,
    然后通过端口把数据传输给对应的应用程序

linux命令总结

  1. ctr + alt + t 打开新的终端窗口

  2. ctr + + 终端窗口字体放大

  3. ctr + - 终端窗口字体缩小

  4. ls : 查看目录下的文件信息

  5. pwd: 查看目录所对应路径

  6. touch: 创建文件

  7. mkdir: 创建文件夹

  8. cd: 切换目录
    8.1 cd … 切换到上一级目录
    8.2 cd 目录名: 切换到指定目录
    8.3 cd -: 切换到上一次路径
    8.4 cd ~: 切换到用户的家目录 /home/python
    8.5 cd .: 切换到当前目录

  9. rmdir: 删除空文件夹,注意点:只能是空文件夹

  10. rm:可以删除文件也可以删除文件夹,如果删除的是文件夹需要加上一个选项, -r: 以递归的方式把文件夹里面的文件都删除,然后再删除外面的目录

  11. clear: 清屏

  12. 绝对路径: 从根目录算起的路径就是绝对路径 比如: /home/python/xxx

  13. 相对路径: 从当前目录算起的路径就是相对路径 比如: …/ 或者 ./

  14. cp: 复制
    14.1 cp 文件名 路径 : 把指定文件拷贝到指定路径
    14.2 cp 文件夹 路径 -r : 把指定文件夹拷贝到指定路径,需要加上-r选项 :以递归的方式把文件夹里面的文件拷贝到指定的目录
    14.3 cp 文件名 路径/新文件名: 先拷贝文件到指定路径然后再对文件进行重命名

  15. mv: 移动
    15.1 mv 文件名 路径 : 把指定文件移动(剪切)到指定路径
    15.2 mv 文件夹 路径 : 把指定文件夹移动(剪切)到指定路径, 注意点:移动文件或者文件夹的时候不需要加上-r
    15.3 提示: 拷贝或者删除文件夹的时候都需要加上-r选项
    15.4 mv 文件名 新文件名: 重命名
    15.5 mv 文件名 路径/新文件名 : 先移动文件到指定路径然后再对文件进行重命名

  16. tree: 以目录树方式显示文件信息,提示目前查看当前目录
    tree /: 查看指定目录以目录树方式显示文件信息

  17. cal: 查看当前月日历
    cal -y : 查看全年

  18. date: 查看当前日期及时间
    date “+%Y:%m:%d %H:%M:%S” 显示年月日 时分秒

  19. history: 查看历史命令
    !历史命令编号 --> 执行对应编号对应的命令

  20. 命令格式
    命名名 [命令选项] [命令参数]

    [命令选项]:比如:rm -r 也可以有多个
    [命令参数]: 可以是多个路径或者多个文件名

  21. –help: 查看命令的帮助信息
    rm --help : 查看删除命令的选项信息有哪些

  22. man rm : 查看命令的帮助信息

  23. ls 选项
    -a : 显示隐藏文件及文件夹
    -l : 以列表方式显示
    -h : 显示文件大小单位
    ll --> ls -al
    l --> ls

  24. mkdir选项
    24.1 -p : 可以创建嵌套多层的文件夹

  25. rm 选项
    25.1 -i: 显示提醒信息
    25.2 -f: 如果文件存在就删除,否则不会显示错误信息
    25.3 -r: 删除文件夹

  26. cp 选项
    26.1 -i: 显示提醒信息
    26.2 -v: 显示文件或者文件夹拷贝后的路径描述
    26.3 -r: 拷贝文件夹

  27. mv 选项
    27.1 -i:显示提醒信息
    27.2 -v: 显示文件或者文件夹移动(剪切)后的路径描述

  28. 重定向(>, >>)
    28.1: 重定向:重新规定显示方向,把终端显示的信息重新规定方向保存到指定文件里面
    28.2: > : 提示:如果文件存在,先把原有数据清空然后在写入新的数据,相当于文件操作里面->w模式
    28.3: >>: 提示: 如果文件存在,在原有数据的基础上进行追加,相当于文件操作里面的里面->a模式,如果文件不存在会自动创建然后再写入

  29. 查看文件的方式
    29.1 gedit 可以查看及编辑文件
    29.2 cat 可以查看文件但是不能分屏显示以及不能修改文件
    29.2.1 cat可以通过重定向合并文件信息
    cat 1.txt 2.txt > 3.txt
    29.3 more 分屏显示文件信息
    29.3.1: 回车:看下一行
    29.3.2: f(空格): 看下一页
    29.3.3: q:退出

  30. 管道(|):可以理解成一个容器,在终端显示的数据可以放到管道里面,然后通过其它命令可以在管道里面获取数据
    30.1: ls /bin | more

  31. 链接
    31.1 软链接: ln -s 文件名 软链接文件名 提示: 创建软链接不会对硬链接数加1, 软链接还可以给文件夹创建
    31.2 硬链接: ln 文件名 硬链接文件名 提示: 创建硬链接会对硬链接数加1,不能对文件夹创建硬链接

  32. grep : 在文件里面查找指定的内容
    32.1 -n: 显示行号
    32.2 -i: 不区分大小写
    32.3 -v: 根据查找数据取反
    提示: 还可以支持通配符: ^,$,[abc],?*等这些通配符

  33. find: 在指定路径查找文件
    33.1 find ./ -name “123.txt”: 只找123.txt文件
    提示: 还可以使用通配符
    33.2 find ./ -name 1?3.txt : ?表示匹配任意一位字符
    33.3 find ./ -name 1*3.txt : *表示可以匹配0个或者多个任意字符
    33.4 find ./ -name [123].txt : [123]表示匹配中一个文件比如1.txt,2.txt,3.txt

34 ls
提示: 也可以使用通配符,进行模糊查询
总结: 通配符就是起到模糊查询作用

  1. tar命令
    35.1 打包命令
    35.1.1 tar -cvf test.tar *.txt : 提示: 没有压缩
    35.1.2 -c 表示打包 -v表示显示那些文件要打到包里面 -f:包的后缀是.tar ,提示:-f必须放到后面不再接收其它选项 -z 压缩选项
    35.2 压缩命令
    gzip test.tar => 压缩包 test.tar.gz

    35.3 打包及压缩的命令
    tar -zcvf test.tar.gz test.tar.gz *.txt

    35.4 解压缩
    gzip -d test.tar.gz --> 获取到包
    35.5 解包
    tar -xvf test.tar --> 获取包里面的文件

    35.6 解压缩及解包
    tar -zxvf test.tar.gz --> 获取压缩包里面的文件
    35.7 打包及压缩后缀是bz2命令
    tar -jcvf test.bz2 *.txt --> 获取bz2的压缩包
    35.8 解压缩及解包后缀是bz2命令
    tar -jxvf test.bz2 --> 获取压缩包里面的文件
    35.9 指定解压缩后路径
    tar -jxvf test.bz2 -C ./123

    35.10
    zip test.zip *.txt --> test.zip : 提示: 压缩包的后缀可以省略
    unzip test.zip : 表示解压到当前目录获取到文件
    unzip -d ./456 test.zip: 表示解压到指定路径

  2. chmod: 修改文件权限
    36.1 权限有:r:可读(4), w: 可写(2), x: 可执行(1), -(0): 没有权限
    36.2 u: 当前用户,g:同组用户 , o:其它用户, a:所有用户
    36.3:权限设置: + 添加权限, - 删除权限, = 设定权限
    chmod a=— 1.txt : 表示1.txt的所有用户都没有权限
    chmod a= 1.txt : 表示1.txt的所有用户都没有权限

    数字法:
    chmod 000 1.txt 表示1.txt的所有用户都没有权限

  3. cp 选项
    -a: 表示保留文件的原有权限,包含-r,还可以拷贝文件夹

  4. which: 查看命令的路径, 比如: ls

  5. passwd: 修改密码

  6. sudo -s: 切换到管理用户,注意: 一般不建议大家切换进去,如果想要获取管理员的权限可以在命令前面加上sudo apt-get install sl

  7. exit : 退出某个用户

  8. who: 当前有那些用户登陆

  9. whoami: 当前电脑登陆的用户是谁

  10. exit:退出

  11. ssh: 远程登陆 44.1 ssh : 可以远程登陆服务端可以通过vim修改文件

  12. scp: 远程拷贝
    45.1 scp 1.txt python@192.168.107.132:/home/python/Desktop ,把本地文件拷贝到服务器端
    45.2 scp -r test python@192.168.107.132:/home/python/Desktop,把本地文件夹拷贝到服务器端
    45.3 scp python@192.168.107.132:/home/python/Desktop/1.txt . , 把服务端的文件拷贝的本地
    46.4 scp -r python@192.168.107.132:/home/python/Desktop/test . , 把服务端的文件夹拷贝的本地

  13. apt list 支持的安装包

  14. vim的使用
    47.1 命令模式, 编辑模式, 末行模式, 命令模式是编辑模式和末行模式的中转站

  15. vim常用命令
    48.1. i: 进入编辑模式
    48.2. yy: 复制光标所在行 复制多行: 数字+yy
    48.3. p: 粘贴, 粘贴多次: 数字+p
    48.4. dd(删除、剪切), 剪切或者删除多行:数字+dd
    48.5. V: 选中多行
    48.6. 上下左右: k:上, j:下, l:右 ,h:左 等同于方向键
    48.7. x: 从前往后删除一个字母
    48.8. X: 从后往前删除一个字母
    48.9. u: 撤销
    48.10. shift + >: 往右缩进
    48.11. shift + <: 往左缩进
    48.12. .:重复上一次操作
    48.13. G: 回到最后一行
    48.14. gg: 回到第一行 1G
    48.15. 18G: 回到指定行
    48.16. shift + 4:回到行末
    48.17. shift + 6:回到行首
    48.18. 搜索: :/1 n:查看下一个搜索到的内容, N:查看上一个搜索到的内容
    48.19. 替换: :%s/1/2/g %: 整个文件, s:替换 g:全局
    48.20. ctr+f: 下一页
    48.21. ctr+b: 上一页
    48.22. :wq, ❌ 保存退出

linux学习总结

操作系统发展史


Unix、mini-UNIX、Linux都是用C语言开发的

Unix作者是肯·汤普逊和丹尼斯·里奇,发布时间是1973年

mini-Unix作者是塔能鲍姆 发布时间1987年

Linux内核的作者是林纳斯,发布时间是1991年

Linux在服务器、嵌入式、桌面领域都有应用,主要在服务器领域

Linux 免费、稳定、高效、开源

文件系统区别


Windows操作系统有可能会有多个盘符(C、D、E、F)

Linux操作系统没有多个盘符,只有一个根目录(/)

<常用linux选项>


1> ls选项

2> mkdir选项

3> rm选项

4> cp选项

8> mv选项

<linux高级命令>


  1. 重定向命令:>, >>

  2. 查看或者合并文件内容:cat

  3. 分屏显示:more

  4. 管道:|

  5. 建立链接文件:ln

  6. 文本搜索:grep

  7. 查找文件:find

  8. 通配符

  9. 打包及压缩:tar

  10. 修改文件权限:chmod

  11. 查看命令位置:which

  12. 切换到管理员账号:sudo -s

  13. 查看当前用户:whoami

  14. 设置用户密码:passwd

  15. 退出登录账户: exit

  16. 查看所有的登录用户:who

  17. 关机重启:reboot、shutdown

远程登录和远程拷贝


远程登录: ssh 用户名@IP

远程拷贝: scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径 /保存到本机的绝对/相对路径

  1. scp可以实现Ubuntu远程连接和文件上传和下载

  2. 在windows系统上远程连接Ubuntu需要安装OpenSSH软件

  3. FileZilla工具通过SFTP协议实现文件上传和下载

软件安装与卸载

-------------------------------------------------------------------------<Ubuntu软件操作的相关命令>

sudo apt-get update 更新源

sudo apt-get install package 安装包

sudo apt-get remove package 删除包

<Ubuntu软件安装常见的两种方式>

1.1 下载deb扩展名的安装包直接双击安装

1.2 通过apt-get工具安装,90%都是以这种方式安装

<Ubuntu镜像源默认在国外,国内下载比较慢,需要将镜像源更改到国内>

2.1 通过Ubuntu软件中心更改

2.2 手动更新sources.list文件并且需要执行sudo apt-get update 进行更新

编辑器vim


<vim有三种基本工作模式>

命令行模式

编辑模式

末行模式

<vim基础操作>

进入插入模式:

进入命令模式:

ESC:从插入模式或末行模式进入命令模式

移动光标:

删除命令:

撤销命令:

重复命令:

文本行移动:

复制粘贴:

可视模式:

替换操作:

查找命令:

替换命令:

<替换示例> 把abc全部替换成123

<示例1> 末行模式下,将当前文件中的所有abc替换成123 :%s/abc/123/g

<示例2> 末行模式下,将第一行至第10行之间的abc替换成123 :1, 10s/abc/123/g

<符号说明> %表示整个文件, 1, 10表示1到10行范围内, s表示替换, g表示全局

cp: 拷贝


cp 文件名 路径: 把文件拷贝到指定路径

cp 路径/文件名 路径: 把指定路径的文件拷贝到指定路径

cp 文件名 路径/新的文件名 : 先把文件拷贝到指定目录然后再重命名

cp 文件夹 路径 -r: 拷贝文件夹 -r:以递归的方式把文件夹下的所有文件拷贝过去

命令的格式


命令名 选项 参数, 提示:有些命令选项可以放到参数的后面,但是:scp 选项必须要放到命令名的后面

ls 选项


-l: 以列表的方式取显示

-a: 显示隐藏文件

-h: 显示文件大小的单位


ll: 是ls -al的缩写, 显示隐藏文件并且以列表方式显示 , l --> ls

rm选项


–r: 以递归的方式删除文件夹里面的所有内容

–i: 显示删除的时候提醒信息

–v: 显示删除后的描述信息

–d: 删除空目录

–f: 如果文件或者目录存在则删除,否则就不删除也不会报错

cp选项


-i:拷贝文件的时候如果指定目录有该文件需要显示提醒信息

-v:显示拷贝文件的路径描述

-r:以递归的方式拷贝文件夹里面的所有内容

mkdir 选项


-p: 把依赖文件夹提取创建好,比如: mkdir 123/456/789 -p

mv选项


-i:移动文件显示提醒信息

-v:显示移动后的路径描述

<杂>


重定向(>,>>): 在终端显示的内容信息重写规定方向,保存到指定文件里面,以后查看数据是文件查看就可以了

总结: ls, cat, tree都可以使用重定向

gedit:文本编辑工具,可读可编辑

cat: 内容在终端显示,不能进行编辑,提示:适合查看小型文件,大型文件使用分屏方式显示(more)

文件合并: cat 1.txt 2.txt > 3.txt

管道: 可以理解成是一个容器,存放在终端显示的内容

总结: ls /bin | more , cat, tree, ls都是可以结合管道使用完成分屏显示的

<more:分屏显示>


f: 表示下一页

空格: 表示下一页

回车: 表示下一行

b: 表示上一页

q: 退出

链接


软连接:可以理解成快捷方式,把原文件删除掉通过软链接无法打文件的数据, 提示:创建软连接不会对硬链接数加1

硬连接: 同一个数据有多个文件名在使用,某个文件删除掉,还可以通过其它文件名访问这个文件的数据, 提示:创建硬链接硬链接数会加1

提示:如果创建的软链接没有和原文件在同一个目录里面,那么需要使用绝对路径创建软连接

grep: 根据指定的内容在文件中进行查找


grep “a” 8.txt : 根据指定内容在文件中进行查找

-n:行号, -i:忽略大小写 -v: 取反

总结:

grep支持的正则表达式有 ^ $ . 和 [ ]

find:在指定目录查找对应的文件


find . -name “.txt”: 在当前目录查找后缀是.txt的文件, -name根据文件名查找

find . -perm 666: 在当前目录查找文件权限是可读可写的, -perm根据权限查找

总结:

find支持的通配符有 ? [ ]

通配符


通配符包括 ? _ 和 [ ] , 主要用来进行模糊查询. 其中 [ ] 表示匹配任意列举中的一个字符.

ls支持的通配符有 _ ? 和 [ ]

<tar: 打包、压缩、解包、解压缩>


打包 tar -cvf test.tar *.txt, -c: 表示要打包, -v:显示文件打到包里面 -f:表示文档名称,提示-f必须放到所有选项的后面

解包 tar -xvf test.tar , -x:表示解包

<tar.gz>


打包及压缩合并的命令:tar -zcvf test.tar.gz *.txt

解压缩及解包合并的命令:tar -zxvf test.tar.gz ->得到对应的文件

指定解压缩的路径 tar -zxvf test.tar.gz -C …/BBB, -C:指定解压缩后的路径

<tar.bz>


tar -jcvf test.bz2 *.txt -> test.bz2

tar -jxvf test.bz2 -> 得到对应的文件

-C: 指定解压缩的路径: tar -jxvf test.bz2 -C …/BBB

<zip的压缩及解压缩>


zip test *.txt -> test.zip ,提示:压缩包的后缀不需要指定默认是.zip

unzip test.zip -> 得到是压缩包里面的文件

unzip -d ./123 test.zip -> 解压到指定路径 , -d:表示解压的路径

chmod:修改权限


-r(4):可读 -w(2):可写 -x(1):可执行

u:当前用户 g: 同组用户 o: 其它用户 a:所有用户

+:添加权限, -:撤销权限 , = : 赋值权限

chmod 000 1.txt : 全部没有权限

chmod a=- 1.txt chmod a= 1.txt : 全部没有权限

chmod 777 1.txt chmod a=rwx 1.txt : 都权限,可读可读可执行

chmod 664 1.txt chmod u=rw,g=rw,o=r 1.txt 设置不同用户不同权限

<杂>


cp选项(补充说明): -a表示保留文件原有权限,-a包含-r,也就是使用-a也可以拷贝文件夹

which : 查看命令的路径

sudo -s: 切换到管理员账号

passwd:修改密码

who :当前那些用户登陆

whoami:当前电脑登陆的用户是谁

exit:退出

ssh: 远程登陆 44.1 ssh : 可以远程登陆服务端可以通过vim修改文件

scp: 远程拷贝


scp 1.txt python@192.168.107.132:/home/python/Desktop ,把本地文件拷贝到服务器端

scp -r test python@192.168.107.132:/home/python/Desktop,把本地文件夹拷贝到服务器端

scp python@192.168.107.132:/home/python/Desktop/1.txt . , 把服务端的文件拷贝的本地

scp -r python@192.168.107.132:/home/python/Desktop/test . , 把服务端的文件夹拷贝的本地

apt list 支持的安装包

vim的使用


命令模式, 编辑模式, 末行模式, 命令模式是编辑模式和末行模式的中转站

vim常用命令


  1. i: 进入编辑模式

  2. yy: 复制光标所在行 复制多行: 数字+yy

.3. p: 粘贴, 粘贴多次: 数字+p

  1. dd(删除、剪切), 剪切或者删除多行:数字+dd

  2. V: 选中多行

  3. 上下左右: k:上, j:下, l:右 ,h:左 等同于方向键

  4. x: 从前往后删除一个字母

  5. X: 从后往前删除一个字母

  6. u: 撤销

  7. shift + >: 往右缩进

  8. shift + <: 往左缩进

  9. .:重复上一次操作

  10. G: 回到最后一行

  11. gg: 回到第一行 1G

  12. 18G: 回到指定行

  13. shift + 4:回到行末

  14. shift + 6:回到行首

  15. 搜索: :/1 n:查看下一个搜索到的内容, N:查看上一个搜索到的内容

  16. 替换: :%s/1/2/g %: 整个文件, s:替换 g:全局

  17. ctr+f: 下一页

  18. ctr+b: 上一页

  19. :wq, ❌ 保存退出

Linux命令(ping, ifconfig)


查看或配置网卡信息:ifconfig

测试远程主机连通性:ping

<小结>

1.ping 127.0.0.1 检查本地网卡是否正常

2.ping www.baidu.com 检查是否能上公网

3.ping 当前局域网的ip地址 检查是否在同一个局域网内

端口


端口是传输数据的通道

端口号是标识端口的一个编号

在linux系统中,端口号有65536(2的16次方)个

<知名端口号(Well Known Ports)>

知名端口号: 系统程序使用的端口号

知名端口号是众所周知的端口号,范围从0到1023

80端口分配给HTTP服务

21端口分配给FTP服务

<动态端口号(Dynamic Ports)>

动态端口号: 程序员开发应用程序使用端口号, 之所以称为动态端口,是因为它一般不固定分配某种服务,而是动态分配。

动态端口的范围是从1024到65535

当这个程序关闭时,同时也就释放了所占用的端口号

<怎样查看端口号>

用 netstat -an 查看程序所使用的端口号

lsof -i [tcp/udp]:2425 查看端口号对应的应用程序

提示: 如果端口号找不到应用程序,使用管理员权限加上sudo

<总结>

网络通信的流程是先通过ip地址找到网络中的设备,再通过端口号来找到对应的端口,

然后通过端口把数据传输给对应的应用程序

 类似资料: