Linux终端使用总结

2023-03-15 15:25:55 浏览数 (2)

总结归纳一下 Linux 的 Shell 的快捷键和常用命令 (环境基于 ubuntu-20.04.2.0)

# Shell 快捷键


  • [ 方向键←→ ] 或 Ctrl B/F —— 光标向后(左)/ 前(右)移动
  • [ Home/End ] 或 Ctrl A/E —— 光标移动到开头(最左边)/ 末尾(最右边)
  • [ 方向键↑↓ ] 或 Ctrl P/N —— 显示上一条 / 下一条历史命令
  • [ Backspace/Del ] 或 Ctrl H/D —— 删除光标前 / 后(被光标覆盖住)的字符
  • Ctrl U —— 删除光标前的所有字符
  • Ctrl L —— 清屏
  • Tab —— 快速补全命令或目录(按一次或当有多个匹配项时两次)
  • Ctrl Alt T —— 新建一个终端窗口

# Linux 基础常识


  1. 使用 ls 命令显示文件或目录时的不同颜色:(一般情况下) 白色 —— 普通文件 蓝色 —— 目录 绿色 —— 可执行文件(相当于 Windows .EXE) 红色 —— 压缩文件 青色 —— 链接文件(相当于 Windows 快捷方式) 黄色 —— 设备文件 灰色 —— 其他文件
  2. Linux 下的文件类型:

普通文件类型 (-) Linux 中最多的一种文件类型,包括 纯文本文件 (ASCII);二进制文件 (binary);数据格式的文件 (data); 各种压缩文件。第一个属性为 [-] ,这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具… … 或 cp 工具等。这类文件的删除方式是用 rm 命令。 目录文件 (d) 就是目录, 能用 # cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx] ,创建目录的命令可以用 mkdir 命令,或 cp 命令,cp 可以把一个目录复制为另一个目录。删除用 rm 或 rmdir 命令。 块设备(b)和 字符设备(c) 这个种类的文件,是用 mknode 来创建,用 rm 来删除。目前在最新的 Linux 发行版本中,我们一般不用自己来创建设备文件。因为这些文件是和内核相关联的。 块设备文件 : 就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1 等文件。第一个属性为 [b]  字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c] 套接字文件 (s) 这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run 目录中看到这种文件类型 管道文件 (p) FIFO 也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO 是 first-in-first-out (先进先出) 的缩写。第一个属性为 [p] 符号链接(l) 和 Windows 操作系统中的快捷方式类似。 引自 Linux 下的 7 种文件类型 - CYYZ 古月

  1. ls -a 显示路径下全部文件(包括隐藏的)
  2. ls -l 查看路径下文件的详细信息

tip:在 Linux 下文件夹(目录)所占用的磁盘空间都是 4096byte,目录大小不包括目录内的文件大小

  1. 目录必须有执行权限才能进入
  2. Linux 下隐藏文件以。开头
  3. itcast@itcast:~第一个itcast:当前登陆的用户第二个itcast:主机名 第一个itcast:当前登陆的用户 第二个itcast:主机名 第一个itcast:当前登陆的用户第二个itcast:主机名:普通用户 $ 换成 #:超级用户(管理员权限)
  4. Linux 系统中硬盘名字:
代码语言:javascript复制
硬盘1:sda
   |--主分区
   |    └--(最多允许有4个)--主分区1:sda1
   |                       |-主分区2:sda2
   |                       |-主分区3:sda3
   |                       └-主分区4:sda4
   └--扩展分区
          └--(第一个逻辑分区从sda5开始)--逻辑分区1:sda5
                                        |-逻辑分区2:sda6
                                        └...
  硬盘2:sdb
  硬盘3:sdc
  硬盘4:sdd
  磁盘设备种类:
      sd -> SCSI Device
      hd -> Hard Disk 硬盘
      fd -> Floppy Disk 软盘

# Shell 常用命令


| 管道 - 将命令 1 的输出作为命令 2 的输入(命令 1 | 命令 2)

pwd 查看当前所在路径

~ :家目录

cd - :在两个目录间切换

rm 参数: r —— 递归(进入子目录) i —— 提示 f —— 强制删除(rm 命令默认会加上这个参数) tip: rm -rf / 懂的都懂

mkdir-p )/ touch 创建目录 / 文件

cat 查看文件内容

cp 拷贝文件或目录(拷贝目录时加 -r ) tip: 拷贝文件时:软硬链接都拷贝原文件; 拷贝目录时:软链接拷贝过去还是软链接,硬链接拷贝原文件

more 一点一点的看某个文件,但是只能往下看,不能往上

less 一点一点的查看某个文件,比 more 更智能

head / tail 显示文件前 / 后十行(也可以加 -5 或者其他任意数字控制显示行数)

mv 移动(到一个已经存在的文件夹)或重命名

ln 创建硬链接 ln -s 创建软连接 tip:硬链接相当于新建文件名指向文件(给文件取个别名),软链接指向文件名

wc 获取文本文件的行数、单词数、字节数

od 查看二进制文件信息 参数: -t 指定数据的显示格式(c/d/f/o/u/x)

du -h 查看当前文件夹和子文件夹大小

df -h 查看磁盘容量信息

which 找到命令对应的路径

修改文件权限:chmod >folded

代码语言:javascript复制
1) 文字设定法:
chmod [who] [ |-|=] [mode]
    who: -> 不写也相当于对所有的人
        文件所有者:u
        文件所属组:g
        其他人:o
        所有的人:a
     :添加权限
    -:减少权限
    =:覆盖原来的权限
    mode:
        r:读
        w:写
        x:执行
例:chmod o rx [文件名]
2) 数字设定法:
chmod [三位数] ->覆盖权限
chmod [ |-|=] [三位数] ->增加/减少/覆盖权限
    没有权限:0
    r:4
    w:2
    x:1
例:chmod 765 [文件名]
    7 -- rwx -- 文件所有者
    6 -- rw -- 文件所属组
    5 -- rx -- 其他人

chown 改变文件所有者 [和所属组] sudo chown user1[:group2] [文件名] chgrp 改变所属组 tip:chown 和 chgrp 都需要管理员权限

find [目录] -name [文件名] 在指定目录下查找文件(文件名也可以使用通配符叠加 例如:* 和?) find [目录] -size [ |-][文件大小] 找大于 / 小于 例:find [目录] -size 10K -size -10M 按大小范围查找 find [目录] -type [d|f|b|c|s|p|l] 按文件类型查找

grep -r "查找的内容" [查找的路径] 按文件内容查找

sudo apt-get install [名字] 在线安装软件 sudo apt-get remove [名字] 卸载软件 sudo apt-get update 更新软件列表 sudo apt-get clean 清理所有软件安装包(/var/cache/apt/archives/*.deb) tip:也可用 aptitude 代替

sudo dpkg -i [deb包] 通过 deb 包安装软件 sudo dpkg -r [名字] 卸载软件

mount [U盘对应的设备名(/dev/...)] [要挂载的目录] 挂载 U 盘 umount [挂载U盘的目录] 卸载 U 盘 tip:卸载 U 盘时 U 盘不能被占用(包括 cd 到挂载 U 盘的目录下) tip:当挂载 U 盘的目录中有文件时,挂载期间文件会被临时覆盖,待卸载 U 盘后恢复原状

alias 查看或设置别名 alias [shell命令] 查看别名 alias [封装的命令名]='shell语句' (例:alias pag=‘ps aux | grep’) (注意:需要长久有效需要去设置配置文件:.bashrc)

# 压缩包管理


# 基础工具

  1. gzip [要压缩的文件] —— .gz 格式的压缩包
  2. bzip2 [参数(-k)] [要压缩的文件] —— .bz2 格式的压缩包

注意:

  1. gzip 和 bzip2 都只能对单个文件进行压缩,不能对目录进行压缩。
  2. gzip 和 bzip2 默认都不保留源文件,只有 bzip2 可以加 - k 参数保留源文件

# 进阶工具

  1. tar —— 不使用 z/j 参数,该命令只能对文件或目录打包

参数: c —— 创建 —— 压缩 x —— 释放 —— 解压缩 v —— 显示提示信息 —— 压缩 / 解压缩 —— 可以省略 f —— 指定压缩文件的名字 z —— 使用 gzip 的方式压缩文件 —— .gz j —— 使用 bzip2 的方式压缩文件 —— .bz2

压缩: tar zcvf [生成的压缩包的名字(推荐xxx.tar.gz)] [要压缩的文件或目录] tar jcvf [生成的压缩包的名字(推荐xxx.tar.bzip2)] [要压缩的文件或目录]

解压缩: tar jxvf [压缩包的名字] -> 解压到当前目录 tar jxvf [压缩包的名字] -C [目录] -> 解压到指定目录

Tip:tar 命令主要做的是打包的功能,内部调用 gzip 和 bzip2 进行压缩操作

  1. rar —— 必须手动安装该软件(实测 Ubuntu-20.04.2.0 自带有)

参数: a —— 压缩 x —— 解压缩

压缩: rar a [生成的压缩文件的名字(自动添加.rar后缀)] [要压缩的文件或目录]

解压缩: rar x [压缩包文件名] [要解压到的目录(不写则默认当前目录)]

  1. zip

参数: -r 压缩目录时需要加上

压缩: zip [压缩包的名字] [要压缩的文件] zip -r [压缩包的名字] [要压缩的文件或目录]

解压缩: unzip [压缩包的名字] unzip [压缩包的名字] -d [要解压到的目录]

总结:

压缩:tar/rar/zip [参数] [生成的压缩文件的敏子] [要压缩的文件或目录] 解压缩:tar/rar/unzip [参数] [压缩包的名字] [参数(rar 没有参数)] [要解压到的目录]

# 进程管理


# 相关命令

  1. who 查看当前在线用户的情况(登录的用户名、使用的设备终端、登陆到系统的时间)

关于 tty 设备:(这个没搞太清楚,仅做参考) tty3 - tty6 表示文字界面(文字终端) - Ctrl Alt F3~F6 tty2 (?) 或:0 表示图形界面 - Ctrl Alt F2 Ctrl Alt F2~F6 切换终端 Ctrl Alt F1 切换到用户登录界面(类似 Windows 下的锁定)

  1. ps a 列出当前所有用户的进程信息 ps au 在上面的基础上再加上 USER、CPU、MEM、VSZ、RSS 的信息 ps aux 在上面的基础上再加上没有终端的应用信息(没有 TTY 信息的) ps aux | grep [要查找的内容] 按要查找的内容过滤进程(注:此命令会把自己也找出来)
  2. kill 杀死进程 kill -l 查看 kill 命令可以发出的信号 kill -SIGKILL(-9) [进程PID] 发送 SIGKILL 信号杀死进程
  3. env 查看系统环境变量 env | grep [要查找的值] 按内容过滤环境变量
  4. top 类似 Windows 下的任务管理器,但只能看而不能进行任何操作

# 网络相关


# 常用命令

  1. ifconfig 查看网络配置信息(相当于 CMD 的 ipconfig)

eth0 - 第一块网卡(第二块 eth1…) 硬件地址(MAC 地址)

  1. ping 同 CMD 的 ping,但是会一直运行直到用户手动结束 ping -c [次数] 指定 ping 的次数 ping -i [秒数] 指定每过多少秒给一条回复
  2. nslookup [域名] 查看网站对应的 IP 地址

# 用户管理


# 相关命令

  1. 创建用户: sudo adduser [用户名(只能小写英文字母)] sudo useradd -s [使用的bash目录(/bin/bash)] -g [所属的组] -d [指定用户的家目录(/home/xxx)] -m(没有这个目录的话就创建) [用户名] (注:通过这条命令创建的用户没有密码,需要再设置 - sudo passwd [用户名])
  2. 删除用户: sudo deluser [用户名] (注:这样删除后用户对应的家目录不会被删除) sudo userdel -r [用户名] (注:这样会把用户对应的家目录一起删除)
  3. 查看现有用户: vi /etc/passwd (/etc/passwd 里存放的是所有用户的信息)

# ftp 服务器搭建 – vsftpd


ftp 服务器作用:实现文件的上传和下载

# 服务器端

(ftp 服务器在本机环境中启动服务失败,原因暂不明,以下仅供参考)

  1. 修改配置文件(/etc/vsftpd.conf) sudo gedit /etc/vsftpd.confsudo vi /etc/vsftpd.conf 打开配置文件 (注意:更改时不要随意修改配置文件书写格式)
  2. 重启服务 sudo service vsftpd restart

# 客户端

(仅供参考)

  1. 登录 ftp [服务器IP] 实名登录:用户名 密码 匿名登录:anonymous 直接回车
  2. 文件的上传和下载 put file get file (注意:不允许操作目录,可以对目录打包后操作)

# nfs 网络共享服务器


类似 Windows 下的共享文件夹

# 服务器端

  1. 创建共享目录 mkdir [dir]
  2. 修改配置文件(/etc/exports) [共享目录路径] [允许访问的IP网段(*代表所有)]([参数1],[参数2],...) 参数可用:rw —— 可读可写,sync —— 从内存同步到磁盘
  3. 重启服务 sudo service nfs-kernel-server restart

# 客户端

  1. 挂载共享目录 sudo mount [服务器IP:共享目录路径] /mnt

# ssh 服务器


(需要先安装 openssh-server)

# 基本命令

查看 SSH 是否安装: sudo aptitude show openssh-server

远程登录: ssh [用户名]@[IP]

退出登陆: logout

# scp 命令(super copy)

scp -r [用户名]@[IP]:[目标文件绝对路径] [保存到的本机路径(绝对或相对)]

拷贝目录时须加 -r 参数


未完待续…

参考文章: linux 全套教程【黑马】

0 人点赞