【Ubuntu】Linux基础学习笔记

一:不同应用领域的主流操作系统

  1. 桌面操作系统
    1.  Window系列
      1. 用户群体大
    2. Macos
      1. 适合开发人员
    3. Linux
      1. 应用软件少
  2.  服务器操作系统
    1. Linux
      1. 安全、稳定、免费
      2. 占有率高
    2. Windows Server
      1. 付费
      2. 占有率低
    3. 嵌入式操作系统
      1. Linux
    4. 移动设备操作系统
      1. Ios
      2. Android(基于Linux)

二:常用Linux命令的基本使用

  1. 常用Linux命令的基本使用
    1. ls :查看当前文件夹下的内容
      1. -a :显示指定目录下所有子目录与文件,包含隐藏文件
      2. -l :以列表方式显示文件的详细信息
      3. -h :配合-l以人性化的方式显示文件大小
    2. pwd :查看当前所在文件夹
    3. cd [目录名] :切换文件夹
    4. cd :切换到当前用户的主目录(/home/用户目录)
    5. cd ~ :切换到当前用户的主目录(/home/用户目录)
    6. cd . :保持在当前目录不变
    7. cd .. :切换到上级目录
    8. cd - :可以在最近两次工作目录之间来回切换
    9. touch [文件名] :创建文件或修改文件时间
      1. 如果文件不存在,可以创建一个空白文件
      2. 如果文件已经存在,可以修改文件的末次修改日期
    10. mkdir [目录名] :创建目录
      1. -p :可以递归创建目录
      2. 新建目录的名称不能与当前目录中 已有的目录或文件同名
    11. rm [文件名] :删除指定的文件名
      1. -f :强制删除,忽略不存在的文件,无需提示
      2. -r :递归地删除目录下的内容,删除文件夹时必须加此参数
      3. 使用rm命令要小心,因为文件删除后不能恢复!
    12. clear :清屏
    13. echo 文字内容
      1. echo会在终端中显示参数指定的文字,通常会和重定向联合使用
    14.  重定向>和>>
      1. Linux允许将命令执行结果重定向到一个文件
      2. 将本应显示在终端上的内容输出/追加到指定文件中
        1. >:表示输出,会覆盖文件原来的内容
        2. >>表示追加,会将内容追加到已有文件的末尾
    15.  管道|
      1. linux允许将一个命令的输出通过管道作为另一个命令的输入
      2. 可以理解为显示生活中的管子,管子的一头塞东西进去,另一头取出来,这里|的左右分两端,左端塞东西(写),右端取东西(读)
      3. 常用的管道命令有
        1. more:分屏显示内容
        2. grep:在命令执行结果的基础上查询指定的文件
    16. 拷贝和移动文件
      1. tree [目录名] :以树状图列出文件目录结构
        1. -d :只显示目录
      2. cp 源文件 目标文件 :复制文件或目录
        1. -f :已经存在的目录文件直接覆盖,不会提示
        2. -i :覆盖文件前提示
        3. -r :若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。
      3. mv 源文件 目标文件 :移动文件或者目录/ 文件或目录重命名
        1. -i :覆盖文件前提示
    17.  查看文件内容
      1. cat 文件名 :查看文件内容、创建文件、文件合并、追加文件内容等功能
        1. 一次性显示所有的内容,适合 查看内容较少 的文本文件
        2. -b :对非空输出行编号 (Linux中还有一个nl的命令和cat -b的效果等价)
        3. -n :对输出的所有行编号
      2. more 文件名 :分屏显示文件内容,每次只显示一页的内容
        1. 适合查看内容较多的文本文件
        2. 操作键
          1. 空格键:显示手册页的下一屏
          2. Enter键:一次滚动手册页的一行
          3. b:回滚一屏
          4. f:前滚一屏
          5. q:退出
          6. /word:搜索word字符串
    18. grep 搜索文本文件名 :搜索文本文件内容
      1. grep允许对文本文件进行模式查找(即正则表达式)
      2. -n:显示匹配行及行号
      3. -v:显示不包含匹配文本的所有行(相当于求反)
      4. -i:忽略大小写
      5. 常用的两种模式查找
        1. ^a:行首。搜寻以a开头的行
        2. ke$:行尾,搜寻以ke结束的行
      6. 通配符
        1. *代表任意个数个字符
        2. ?代表任意一个字符,至少1个
        3. []表示可以匹配字符组中的任一一个
        4. [abc]匹配a、b、c中的任意一个
        5. [a-f]匹配从a到f范围内的任意一个
  2.  相对路径和绝对路径
    1. 相对路径 在输入路径时,最前面不是/或者~,表示相对 当前目录 所在的目录位置
    2. 绝对路径 在输入路径时,最前面是/或者~,表示从 根目录/家目录 开始的具体目录位置。
  3.  远程管理常用命令
    1. shutdown 选项 时间 :关机/重启
      1. shutdown命令可以安全关闭或者重新启动系统
        1. shutdown -r now :重新启动操作系统,其中now表示现在
        2. shutdown now :立即关机,其中now表示现在
        3. shutdown 20:25 :系统在今天的20:25会关机
        4. shutdown +10 :系统再过十分钟后自动关机
        5. shutdown -c :取消之前指定的关机计划
      2. -r 重新启动
      3. 不指定选项和参数,默认为1分钟之后关闭电脑
      4. 远程服务器时,最好不要关闭系统,而应该重新启动系统
    2.  查看或配置网卡信息
      1. ifconfig :查看/配置计算机当前的网卡配置
        1. ifconfig | grep inet :查看网卡对应的ip地址
      2. ping ip地址:检测到目标ip地址的连接是否正常
    3.  远程登录和复制文件
      1. ssh [-p port] user@remote
      2. scp
        1. :后面的路径如果不是绝对路径,则以用户的家目录作为参照路径;加上-r选项可以传送文件夹
        2. scp -P port 01.py user@remote:Desktop/01.py:把本地当前目录下的1py文件复制到远程家目录下的Desktop/0.1py
        3. scp -P port user@remote:Desktop/01.pypy :把远程家目录下的Desktop/01.py文件复制到本地当前目录下的01.py
        4. scp -r demo user@remote:Desktop :把当前目录下的demo文件夹复制到远程家目录下的Desktop
        5. scp -r user@remote:desktop demo :把远程家目录下的Desktop复制到当前目录下的demo文件夹

三: 权限管理常用命令

  1. 文件/目录的权限
    1. 创建组/ 删除组 的终端命令都需要通过 sudo 执行
序号 英文 缩写 数字代号
01 read r 4
02 write w 2
03 excute x 1
目录 拥有者权限 组权限 其他用户权限
文件权限示例 - r w - r w - r - -
目录权限示例 d r w x r w x r - w
  1. chmod 修改用户/组 对文件/目录的权限
    1. chmod +/-rwx 文件名/目录名
  2. 组管理
    1. 组信息保存在etc/group文件中,/etc目录是专门用来保存系统配置信息的目录
    2. groupadd 组名 :添加组
    3. groupdel 组名 :删除组
    4. cat  /etc/group :确认组信息
    5. chgrp -R 组名 文件/目录名 :递归修改文件/目录的所属组
  3.  用户管理
    1. 创建用户时,如果忘记添加-m选项指定新用户的家目录,最简单的方法就是删除用户,重新创建;创建用户时,默认会创建一个和用户名同名的组名;用户信息保存在 /etc/passwd文件中。
    2. useradd -m -g 组 新建用户名 :添加新用户
      1. -m自动建立用户家目录
      2. -g指定用户所在组,否则会建立一个和同名的组
    3. passwd 用户名 :设置用户密码
      1. 如果是普通用户,直接用passwd可以修改自己的账户密码
    4. userdel -r 用户名:删除用户
      1. -r 选项会自动删除用户家目录
    5. cat /etc/passwd | grep 用户名 :确认用户信息
    6.  passwd文件(/etc/passwd文件存放的是用户的信息)由6个分号组成的7个信息,分别是:
      1. 用户名
      2. 密码(x表示加密的密码)
      3. UID(用户标识)
      4. GID(组标识)
      5. 用户全名或本地账号
      6. 家目录
      7. 登录使用的Shell,就是登录之后,使用的终端命令,Ubuntu默认是dash
    7.  查看用户信息
      1. id [用户名] :查看用户UID和GID信息
      2. who 查看当前所有登录的用户列表
      3. whoami 查看当前登录用户的账户名
    8. usermod 可以设置用户的主组/附加组和登录Shell
      1. 主组:通常在新建用户时指定,在/etc/passwd的第四列GID对应的组;附加组:在/etc/group中最后一列表示该组的用户列表,用于指定 用户的附加权限;注意:设置了用户的附加组之后,需要重新登录才能生效!
      2. usermod -g 组 用户名 :修改用户的主组(passwd中的GID)
      3. usermod -G 组 用户名 :修改用户的附加组
      4. usermod -s /bin/bash 用户名 :修改用户登录Shell
      5. usermod -G sudo 用户名 ;将用户添加到sudo附加组中
        1. 默认使用useradd添加的用户是没有权限使用sudo以root身份执行命令的。
  4. bin和sbin
    1. 在Linux中,绝大多数可执行文件都保存在/bin、/sbin、/usr/bin、/usr/sbin
    2. /bin(binary)是二进制执行文件目录,主要用于具体应用
    3. /sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
    4. /usr/bin(user commands for applications)后期安装的一些软件
    5. /user/sbin(super user commands for applications)超级用户的一些管理程序
  5. 切换用户su
      1. su - 用户名 :切换用户,并且切换目录
        1. -可以切换到用户家目录,否则保持位置不变
        2. su不接用户名,可以切换到root,但是不推荐使用,因为不安全
      2. exit退出当前登录用户
  6. 修改文件权限
    1. chown 用户名 文件名|目录名 :修改文件|目录的拥有者
    2. chgrp -R 组名 文件名|目录名 :递归修改文件|目录的组
    3. chmod -R 755 文件名|目录名 :递归修改文件权限
拥有者 其他
r w x r w x r w x
4 2 1 4 2 1 4 2 1

四:系统信息相关命令

  1. 时间和日期
    1. date :查看系统时间
    2. cal :calendar查看日历,-y选项可以查看一年的日历
  2. 磁盘和目录空间
    1. -h 以人性化的方式显示文件大小
    2. df -h :disk free显示磁盘剩余空间
    3. du -h [目录名] :disk usage显示目录下的文件大小
  3.  进程信息
    1. ps aux :查看进程的详细状况
      1. ps默认只会显示当前用户通过终端启动的应用程序
      2. a:显示终端上的所有进程,包括其他用户的进程
      3. u:显示进程的详细状态
      4. x:显示没有控制终端的进程
    2. top :动态显示运行中的进程并且排序
      1. q退出top
      2. 比较漂亮的查看当前进程排名的软件 htop
    3. kill [-9] 进程代号 :终止指定代号的进程,-9表示强制终止
      1. 使用kill命令时,最好只终止由当前用户开启的进程,而不要终止root身份开启的进程,否则可能导致系统崩溃
    4.  find查找文件
      1. find通常用来在特定的目录下搜索符合条件的文件
      2. find [路径] -name “*.py”查找指定目录下扩展名是.py的文件,包括子目录
        1. 如果省略路径,表示在当前文件夹下查找
    5. ln软连接
      1. ln -s 被链接的源文件 链接文件 :建立文件的软连接,类似windows的快捷方式
        1. 没有-s选项建立的是一个硬链接文件
          1. 两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
        2. 源文件要使用绝对路径,不能使用相对路径,这样可以放慢移动连接文件后,仍能够正常使用
    6. tar打包和压缩
      1. tar是Linux中最常用的备份工具,此命令可以把一系列文件打包到一个打文件中,也可以把一个打包的大文件恢复成一系列文件
      2. tar -cvf 打包文件.tar 被打包的文件/路径   :打包文件
      3. tar -xvf 打包文件.tar :解包文件
      4. tar 选项说明:
        1. c:生成档案文件,创建打包文件
        2. x:解开档案文件
        3. v:列出归档解档的详细过程,显示进度
        4. f:指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
        5. 特别说明:f选项必须放在最后,其他顺序可以随意
    7.  gzip/bzip2压缩/解压缩
      1. tar 与gzip/bzip2命令结合可以实现文件的打包和压缩
        1. tar只负责打包文件,但不压缩
        2. 用gzip/bzip2压缩tar打包后的文件,其扩展名一般用tar.gz/xxx.tar.bz2
        3. 在tar命令中通过使用-z选项调用gzip,-j选项调用
      2. 压缩文件
        1. tar -zcvf 打包文件.tar.gz 被压缩的文件/路径
        2. tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径
      3. 解压缩文件
        1. tar -zxvf 打包文件.tar.gz
        2. tar -jzxvf 打包文件.tar.bz2
      4. 解压缩到指定路径
        1. tar -zxvf 打包文件.tar.gz -C目标路径
          1. -C:解压缩指到指定目录,注意:要解压缩的目录必须存在
    8. apt-get软件安装
      1. apt是Advanced Packaging Tool,是Linux下的一款安装包管理工具
        1. sudo apt install 软件包 :安装软件
        2. sudo apt remove 软件名 :卸载软件
        3. sudo apt upgrade :更新已安装的包

 

THE END
分享
二维码
打赏
海报
【Ubuntu】Linux基础学习笔记
一:不同应用领域的主流操作系统 桌面操作系统  Window系列 用户群体大 Macos 适合开发人员 Linux 应用软件少  服务器操作系统 Linux 安全、稳……
<<上一篇
下一篇>>