ubuntu学习笔记

Linux(Ubuntu)

终端命令格式

01-命令格式

command [-options][parameter]

说明:

  • []:代表可选项

  • command :命令名称

  • [-options] :选项,可以用来对命令进行控制

  • [parameter]:传给命令的参数,可以是零个、一个或多个

02-查询命令帮助信息

  • command --help:显示命令的帮助信息
  • man command :查阅命令使用手册(manual)

使用man时的操作键

操作键 功能
空格键 显示手册页的下一屏
Enter键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
q 推出
/word 搜索word字符串

常用命令

序号 命令 对应英文 作用
01 ls list 查看当前文件夹下的内容
02 pwd print work directory 查看当前所在的文件夹
03 cd change directory 切换文件夹
04 touch [文件名] touch 如果文件不存在,新建文件
05 mkdir 目录名 make directory 创建目录
06 rm [文件名] remove 删除指定的文件名
07 clear clear 清屏

小技巧

  • ctrl + shift + = 放大终端窗口的字体显示
  • ctrl + - 缩小终端窗口字体显示
  • tab键 自动补全目录/文件/命令名称,如果前几个字母一样按两次tab

通配符

通配符 含义
. 任意格式字符
? 任意一个字符,至少一个
[] 可以匹配字符组中的任意一个
[abc] 匹配a、b、c中的任意一个
[a-f] 匹配a-f范围内任意一个字符

一、文件和目录常用命令

  • 查看目录内容

    • ls 可以使用通配符
      • -a 显示所有的文件,包括隐藏文件,.当前目录,..上一级目录
      • -l 以列表方式显示文件的详细信息
      • -h 配合-l以人性化的方式显示文件大小,可以写成 -lh
  • 切换目录

    • cd
      • cd 切换到当前用户的主目录(/home/用户目录)
      • cd ~ 同上
      • cd . 保持当前目录不变
      • cd .. 切换到上级目录
      • cd - 最近两个工作目录之间来回切换
  • 创建和删除操作

    • touch 创建文件/修改文件时间
    • rm 删除文件或目录,可以使用通配符,文件删除后不能回复
      • -f 强制删除,忽略不存在的文件,无需提示
      • -r 递归地删除目录下的内容,删除文件夹时必须加此参数
    • mkdir 创建一个新的目录
      • -p 递归创建文件夹 mkdir -p a/b/c
  • 拷贝或移动文件

    • tree [目录名] 以树状图列出文件目录结构

      • -d 只显示目录
    • cp 源文件 目标文件 复制文件或目录

      • -i 覆盖文件前提示
      • -r 若给出源文件是目录文件,会递归复制目录下的所有目录和文件,对应目标文件也是目录名称
    • mv 源文件 目标文件 移动文件或目录/文件目录重命名

      • -i 覆盖文件前提示
  • 查看文件内容

    • cat 文件名 可以查看文件内容、创建文件、文件合并、追加文件内容等功能
      • -b对非空输出行编号
      • -n对输出的所有行编号
    • more 与cat一次显示所有内容不同,会分屏显示,操作键和man命令一样
    • grep 允许对文本文件进行模式查找,模式即正则表达式
      • -n 显示匹配行和行号
      • -v 显示不包括匹配文本的所有行
      • -i 忽略大小写
      • 常用两种模式查找 ^a 搜索以a开头的行,ke$以ke结束的行
  • 其他

    • echo 文字 将参数重新显示一次
    • 重定向:将执行结果重定向到一个文件
      • > 表示输出,会覆盖文件原有内容
      • >> 表示追加,会将内容追加到已有文件的末尾
    • 管道 |
      • 将一个命令的输出通过管道作为另一个命令的输入
      • 常用管道命令有:more,grep

二、远程管理常用命令

  • 关机/重启

    • shutdown 选型 时间 关机/重新启动
      • -r 重新启动
      • shutdown -r now 表示现在重启
      • 若不指明参数表示1分钟之后关闭电脑
      • shutdown -c 取消关闭电脑
      • shutdown 20:25 今天20:25会关机
      • shutdown +10 系统再过10分钟自动关机
  • 查看或配置网卡信息

    • ifconfig 查看/配置计算机当前网卡配置信息
    • ping 目标ip地址 检测到目标ip地址的链接是否正常
  • 远程登录和复制文件

    • ssh (Secure Shell)

      • ssh客户端键结到运行了ssh服务器的远程机器上

      • 数据传输是加密的,可以防止信息泄露

        数据传输是压缩的,可以提高传输速度

      • 端口号:SSH服务器22;Web服务器80;HTTPS443;FTO服务器21

      • ssh [-p port] user@remote

        • user远程机器上的用户名,不指明默认当前用户
        • remote远程机器地址IP/域名
        • port是SSH Server监听的端口默认22
        • exit退出当前用户登录
    • scp (secure copy)

      • 远程拷贝文件
      • scp [-P port] 源文件 user@remote:desktop/filesname 注意-P是大写
      • -r传输文件夹

三、用户权限命令

  • 用户管理包括用户和组管理

  • 对文件/目录的权限包括:

    权限 英文 缩写 数字
    read r 4
    write w 2
    执行 excute x 1
    无权限 . 0
  • ls -l 查看文件夹下的详细信息

    • 实例ubuntu学习笔记

    • 权限,第一个字符如果是d表示目录

    • 硬连接数,有多少种方式可以访问此文件或目录

    • 
      

      拥有者

    • 大小

    • 时间

    • 名称

ubuntu学习笔记

  • chmod命令使用

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

    • 格式如下:

      chmod +/-rwx 文件名|目录名
      
    • +增加权限 ,-删除权限

  • 组管理命令

    命令 作用
    groupadd 组名 添加组
    groupdel 组名 删除组
    cat /etc/group 确认组信息
    chgrp -R 组名 文件/目录名 修改文件/目录的所属组
  • 用户管理命令

    命令 作用 说明
    useradd -m -g 组 用户名 添加新用户 -m自动创建用户家目录-g指定用户所在组否则会创建一个同名的组
    passwd 用户名 设置用户密码 如果是普通用户直接使用可以修改自己的密码
    userdel -r 用户名 删除用户 -r自动删除用户家目录
    cat /etc/passwd | grep 用户名 确认用户信息 新建用户后信息会保存在/etc/passwd
  • 查看用户信息

    命令 作用
    id [用户名] 查看用户UID和GID信息
    who 查看当前所有登录用户列表
    whoami 查看当前登录用户的账户名
    • passwd 文件
      • 实例:ubuntu学习笔记

      • 用户名

      • 密码(x表示加密的密码)

      • UID(用户标识)

      • GID(组标识)

      • 用户全名或本地帐号

      • 家目录

      • 登录使用的shell,ubuntu默认dash

  • usermod命令

    • usermod可以用来设置用户主组/附加组和登录shell

    • 主组:新建用户时-g指定的,在etc/passwd的第4列GID对应的组

    • 附加组:etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限

    • 设置好用户附加组后,需要重新登录才能生效

      # 修改用户的主组
      usermod -g 组 用户名
      
      # 修改用户附加组
      usermod -G 组 用户名
      
      # 修改用户登陆的shell
      usermod -s /bin/bash
      
      # 普通用户使用sudo
      suermod -G sudo 用户名
      
  • which

    • 查看执行命令所在位置

      which ls
      #输出
      /bin/ls
      
    • 大多数执行文件保存在/bin,/sbin,/usr/bin,/usr/sbin

      • /bin(binary)是二进制执行文件目录,主要用于具体应用
      • /sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
      • /usr/bin 后期安装的一些软件
      • /usr/sbin超级用户的一些管理程序
  • 切换用户

    • su - 用户名,切换用户,且切换目录,-可以切换到用户家目录
    • exit退出当前用户登录
    • su不接用户名可以写换到root,但是不推荐使用,不安全
  • 修改文件权限

    命令 作用
    chown 修改文件拥有者
    chgrp 修改组
    chmod 修改权限
    #修改文件|目录拥有者
    chown 用户名 文件名|目录名
    
    #递归修改文件|目录的组
    chgrp -R 组名 文件名|目录名
    
    #递归修改文件权限
    chmod -R 755 文件名|目录名
    

ubuntu学习笔记

四、系统信息

  • 时间和日期
    • cal 查看日历,-y可以查看一年的日历
    • date 查看系统时间
  • 磁盘和目录空间 -h人性化显示文件大小
    • df -h
      • disk free 显示磁盘剩余空间
    • du -h 目录名
      • disk usage显示目录下的文件大小

五、进程信息

  • 进程可以看作当前正在执行的一个程序

    命令 作用
    ps aux process status 查看进程详细信息
    top 动态显示运行中的进程并排序,q退出
    kill [-9]进程代号 终止指定代号的进程,-9强行终止
    • 注:a显示终端所有进程,包括其他用户进程。u显示进程详细状态。x显示没有控制终端的进程。

    其他命令

  • 查找文件

    • find 在特定目录下搜索符合条件的文件
      • find [路径] -name "*.py" 查找指定路径下扩展名是.py的文件,包括子目录
  • 软连接

    • ln 建立软链接,可以看作windows下的快捷方式
      • ln -s 被链接的源文件 链接文件
      • 没有-s是建立一个硬链接
      • 源文件要使用绝对路径
  • 打包/解包

    • 打包:tar -cvf 打包文件.tar 被打包文件

    • 解包:tar -xvf 打包文件.tar

      注:c生成档案文件,创建打包文件。x解开档案文件。v列出打包解包详细过程显示进度。f指定档案文件名,后面一定跟.tar文件,必须放到选项最后。

  • 压缩/解压缩

    • gzip 压缩tar打包后的文件,扩展名一般为xxx.tar.gz
    • tar 命令打包解包时加个-z选项即可调用gzip
    • 解压到指定路径tar -zxvf 打包文件.tar.gz -C 目标路径
    • tar 命令打包解包时加个-j选项即可调用bzip2。扩展名一般为xxx.tar.bz2
  • 软件安装

    • apt (Advanced packaging Tool)

      # 1.安装软件
      sudo apt install 软件包
      
      # 2.卸载软件
      sudo apt remove 软件名
      
      # 3.更新已安装软件
      sudo apt upgrade