文章目录

  • 操作系统发展史
  • 文件系统区别
  • 常用linux选项
  • linux高级命令
  • 远程登录和远程拷贝
  • 软件安装与卸载
  • 编辑器vim
  • 常用Linux命令
  • vim命令
    • vim的使用
    • 常用vim命令
  • 端口


操作系统发展史

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 检查是否能上公网
    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》Linux教程