1.帮助命令
- man 获得帮助信息
- man ls :查看ls命令的帮助信息(man 命令查看内置命令信息需加上 -f,例如 man -f cd)
- help获得shell内置命令的帮助信息
- help cd : 获得cd命令的帮助信息 (help查看外置命令格式为:命令 --help。例如 ls --help)
- 常用快捷键
- ctrl + c :停止进程
- ctrl + l :清屏(等同于clear,彻底清屏是:reset)
- 上下键:查找执行过的命令
- 善用tab键:自动补全命令,防止敲错
- ctrl + shift + c/v :控制台中命令的复制粘贴
- type 命令:查看命令的类型
2.文件目录类
- pwd :显示当前工作目录的绝对路径
- cd :切换目录 (cd - 查看当前目录)
- ls :列出目录内容
- ls -a [目录或文件] :查看全部文件,包括隐藏档(.开头的文件)
- ls -l [目录或文件] :长数据串列出,包含文件属性与权限等(等同于ll)
- ls -lh :查看全部文件,包括文件大小
- ls -lh / :查看全部文件、文件路径、和文件大小
- mkdir :创建文件夹
- mkdir a b c :同时创建a b c三个文件夹
- mkdir /a :创建文件a
- mkdir a a/c a/c/f 或 mkdir -p a/c/f :嵌套创建文件。
- rmdir :删除文件夹
- rmdir a b c :同时删除多个空文件夹
- rmdir a/c/f/ c/f/ f/ 或 rmdir -p a/c/f/ :删除嵌套文件夹
- touch :创建一个空文件
- touch 文件名称。例如:touch hello(Linux中创建文件可以不带后缀,默认为文本文件)
- cp :复制文件或目录
- cp [选项] source dest 复制source 文件到dest
- cp -r :选项r表示递归复制整个文件夹
- rm :删除文件或目录
- 语法:rm 要删除的文件
- rm -f 文件名 :强制执行删除操作,不提示确认
- rm -r 目录名 :删除目录中所有内容(会提示是否进入待删目录)
- rm -rf 文件名:递归删除目录中所有内容(无任何提示信息直接删除)
- rm -v 文件名:显示指令的详细执行过程
- rm -f ./* :删除当前目录下的所有内容,保留当前目录
- mv :移动文件与目录或重命名
- mv 文件名 路径 :移动文件
- mv 原文件名 新文件名:重命名
- cat 查看文件内容
- 语法:cat 要查看的文件
- cat -n 文件名 :查看内容并显示行号,包括空行
- more 文件内容分屏查看器(more是一个基于VI编辑器的文本过滤器,它以全屏幕方式按页显示文本文件的内容)
- 语法:more 文件名
- 空格键 :向下翻页。回车键:一行一行往下;
- ctrl+F :向下滚动一屏
- ctrl+B :返回上一屏
- 按=号键 | :f :显示当前在第几行
- 按q键 :离开more,不再显示文件内容
- less 分屏显示文件内容(常用来查看日志文件、大文档)
less xxx文件名
也可用more的基本操作方式翻页看行号等。 - echo 输出内容到控制台
- echo xxxx输出内容(输出内容用 “ ”引起来表示100%原样输出,不用“”输出的空格会有变化但内容不变)
- echo -e \\ :输出\本身
- echo -e \n :换行
- echo -e \t :制表符,也就是tab键
- -e :支持反斜杠控制的字符转换
- echo也可以查看信息:
- > 重定向和 >> 追加
- head 显示文件头部内容
- head xxx文件名 :默认显示文件前10行内容
- head -n 数字 文件名:指定显示内容的行数
- tail 输出文件尾部内容
- tail 文件:查看文件尾部10行内容
- tail -n 数字 文件:指定查看尾部多少行的内容
- tail -f 文件:显示文件最新追加的内容,监视文件变化
- ln 软连接
软链接也称为符号链接,相当于Windows系统中的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。- 基本语法:ln -s 原文件目录 软链接名 (给原文件创建一个软链接)
- 删除软链接:rm -rf 软链接名,而不是rm -rf 软连接名/。后者删除方式会把软链接对应的真实目录下内容删掉
- 查看:ll
- 硬链接:ln 原文件目录 软链接名,不使用-s 创建出来的就是硬链接
- history 查看以及执行过历史命令
- history -c :清空所有的历史命令
3.时间日期类
- date :获取当前具体的时间信息(年月日时分秒)
- date + %Y、%m、%d显示当前年、月、日(+号必须要)
- date +%Y-%m-%d %H:%M:%S
- date +%s :小写的s 表示显示秒数时间戳
- date -s "2023-01-01 00:00:00" :设置系统当前时间
- date + %Y、%m、%d显示当前年、月、日(+号必须要)
- cal 查看日历
- cal :查看当前月的日历
- cal 具体某一年 :显示这一年的日历(比如cal 2023,显示2023年12个月的日历
4.用户管理命令
- useradd 添加新用户
- useradd 用户名
- useradd -g 组名 用户名 :新增用户并确定用户所属组。
- passwd 设置用户密码
- passwd 指定用户名 : 给指定用户设置密码
- id 查看用户是否存在
- id 用户名 :查看该用户是否存在
- cat(less) /etc/passwd 查看创建了哪些用户
- su 切换用户
- userdel 删除用户
- who 查看登录用户信息
- who am i :看当前登录用户
- sudo 设置普通用户具有root权限
- 修改配置文件:[root@hadoop01 ~]# vi /etc/sudoers
- 在 ## Allow root to run any commands anywhere这一行下面添加一行:
- 或者配置成每次采用sudo命令时,不需要输入密码
修改完毕保存退出,切换新用户账号,使用命令sudo,即可获得root权限进行操作。比如创建文件夹,普通用户是不能直接使用mkdir命令的,获得root权限后即可使用 sudo mkdir创建文件夹。
- usermod 修改用户
5.用户组管理
- 查看分组情况:cat /etc/group
- 新增组:groupadd 组名
- 删除组:groupdel 组名
6.文件属性和权限
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做
了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属
的用户和组。
-
文件属性
(1)0首位表示类型
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
- 代表文件
d 代表目录
l 链接文档(link file)
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。--UJer
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限。--Group
(4)第7-9位确定其他用户拥有该文件的权限。--Other -
文件权限
(1)chmod 改变权限
①chmod [{ugoa} {+-=} {rwx}] 文件或目录(花括号中根据需求选择权限)
例如:chmod g+w
②chmod [mode=421] 文件或目录 (直接用数字表示权限)u:所有者、g:所有组、o:其他人、a:所有人(u、g、o的总和)
r=4、w=2、x=1 rwx=4+2+1=7
chmod -R 777 :开放所有权限,其他用户都能读写执行(2)chown 改变所有者
chown [-R] 最终用户 文件或目录:改变文件或目录的所有者。(3)chgrp 改变所属组
chgrp 最终用户组 文件或目录:改变文件或目录的所属组。
3.搜索查找
(1)find 查找文件或目录。find指令从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
语法:find 搜索范围 选项
(2)locate 快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
语法:locate 搜索文件
注:locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
查找命令所在位置:which 或 whereis
(3)grep过滤查找及“|”管道符。管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
语法:grep 选项 查找内容 源文件。选项-n :显示匹配行及行号
4.压缩和解压
- gzip、gunzip 压缩
- 语法:gzip 文件名。(该命令是单纯的压缩文件,不能压缩目录;压缩文件后不会保留原文件;同时压缩同一目录下的多个文件会产生多个压缩包)
- 语法:gunzip 文件名.gz。解压。
- zip、unzip 压缩
- 语法:zip 【选项】xxx.zip 将要压缩的内容。压缩文件和目录
- 语法:unzip 【选项】xxx.zip。解压缩文件
- 选项说明:
- zip压缩命令在windows/Linux都通用,可以压缩目录且保留源文件。
- tar打包
- 语法:tar -zcvf xxx.tar.gz 文件1 文件2(将文件1和2压缩并指定压缩名xxx)
解压缩:tar -zxvf xxx.tar.gz -C /test (将xxx.tar.gz压缩包解压到test目录下)
- 语法:tar -zcvf xxx.tar.gz 文件1 文件2(将文件1和2压缩并指定压缩名xxx)
5.磁盘分区
- du 查看文件和目录占用的磁盘空间
- du(disk usage ):查看磁盘占用情况
- 语法:du 目录/文件(显示目录下每个子目录的磁盘使用情况)
- du --max-depth=1 -ah :显示一级文件目录占用磁盘空间大小。
- du -sh / :斜杠后面还可以跟文件目录,表示查看指定目录下的文件占用情况。
- df 查看磁盘空间使用情况
- df -h :查看当前磁盘占用详细情况
- free -h :也可以查看磁盘 使用情况
- fdisk 查看分区
- fdisk -l :查看磁盘分区详情
- fdisk 磁盘设备名 :对新增磁盘进行分区操作
- lsblk 查看设备挂载情况
- lsblk -f :查看文件系统类型、挂载点、uuid
- mount/umount 挂载/卸载
- Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来。
- 基本语法:
- mount [-t vfstype] / [-o options] 设备名称 目录名 :挂载设备([-t vfstype]一般不用指定类型,系统会自动识别)
- umount 设备文件名或挂载点 :卸载设备
6.进程线程
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
- ps 查看当前系统进程状态
- ps aux | less | grep xxx(管道筛选,查看特定进程):查看系统中所有进程,显示信息说明
- ps -ef | less | grep xxx:可查看子父进程之间的关系
- 想查看进程的CPU占用率和内存占用率可使用aux,想查看进程的父进程ID可使用ef。
- ps aux 显示信息说明:
- USER:该进程是由哪个用户产生的
PID:进程的ID号
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位KB;
RSS:该进程占用实际物理内存的大小,单位KB;
TTY:该进程是在哪个终端中运行的。对于CentOS 来说,ttyl 是图形化终端,
tty2-tty6是本地的字符界面终端。pts/0-255 代表虚拟终端。
STAT:进程状态。常见的状态有: R:运行状态、S:睡眠状态、T:暂停状态、
Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示、<:表示优先级高、n:表示优先级低。
START:该进程的启动时间;
TIME:该进程占用CPU的运算时间,注意不是系统时间;
COMMAND:产生此进程的命令名。
- USER:该进程是由哪个用户产生的
- ps -ef 显示信息说明:
- UID:对应的用户
PID:进程号
PPID:父进程ID
C: CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,
执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高。
STIME:进程启动的时间
TTY:完整的终端名称
TIME: CPU时间
CMD:启动进程所用的命令和参数
- UID:对应的用户
- kill 终止进程
- pstree 查看进程树
- top 实时监控系统进程状态
- netstat 显示网络统计信息和端口占用