Linux中的一些指令

目录

命令的基本格式

重要的热键:Tab

重要的组合键:Ctrl+c、Ctrl+d

帮助命令

文件路径命令

文件目录命令

组管理命令

权限管理命令

时间日期命令

搜索查找命令

压缩和解压、打包命令

任务调度命令

块设备命令

查找文件命令

文件管理系统命令

系统变量管理命令

选取命令

排序命令

字符转换命令


命令的基本格式

[lf@hadoop1 ~] $ command(命令)  [-option(选项)]  parameter1(参数1)  parameter2(参数2)  ...

重要的热键:Tab

  • 命令补全功能

 输入ca后连按两次Tab键

Tab接在一串命令的第一个命令的后面,则为“命令补全”

  • 文件补齐功能

输入部分文件名后连按两次Tab键

Tab接在一串命令的第二个命令后面,则为“文件补齐”

重要的组合键:Ctrl+c、Ctrl+d

  • Ctrl+c

中断目前的程序

 

  •  Ctrl+d

离开文字界面

帮助命令

  • help
  • man(manual)

 

man page按空格翻页,按q离开,输入“/word”查找关键字

 关于命令后面的数字,也代表了一些信息:

代号代表内容
1用户在shell环境中可以操作的命令或可执行文件
2系统内核可调用的函数与工具等
3一些常用的函数与函数库,大部分为C的函数库
4设备文件的说明,通常在/dev下的文件
5配置文件或者是某些文件的格式
6游戏(games)
7惯例与协议等,例如Linux文件系统、网络协议、ASCII code等说明
8系统管理员可用的管理命令
9跟kernel有关的文件

man page的组成:

代号内容说明
NAME简短的命令、数据名称说明
SYNOPSIS简短的命令执行语法(syntax)简介
DESCRIPTION较为完整的说明
OPTIONS针对SYNOPSIS部分中,有列举的所有可用的选项说明
COMMANDS当这个程序(软件)在执行的时候,可以在此程序(软件)中执行的命令
FILES这个程序或数据所使用或参考或连接到的某些文件
SEE ALSO这个命令或数据有相关的其他说明
EXAMPLE一些可以参考的范例
BUGS是否有相关的错误

文件路径命令

  • pwd(print working directory)

print name of current/working directory

  • ls(list)

list directory contents

  • cd(change directory)

Change the shell working directory

文件目录命令

  • mkdir(make directories)

创建一个目录

基本语法功能描述
mkdir -p创建多级目录
  • rmdir(remove empty directories)

只能删空目录。非空目录用rm -rf /directory

  • touch

创建一个或多个空文件

  • cp(copy)

拷贝文件到指定目录

基本语法功能描述
cp -r拷贝整个文件夹
  • rm(remove)

移除文件或目录

基本语法功能描述
rm -r(recursion)递归删除目录
rm -f(force)强制删除文件
rm -rf强制递归删除文件或目录
  • mv(move)

移动文件与目录或重命名

若路径存在,则为移动。不存在,则为改名。相同则为覆盖。

  • cat(concatenate and print)

查看文件内容

cat [选项] [文件路径] |more 按页显示文件内容

  • more

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键。

快捷键

操作功能说明
space

向下翻一页

enter向下翻一行
q立刻离开more
Ctrl+F向下滚动一屏
Ctrl+B返回上一屏
=输出当前行的行号
:f输出文件名和当前行的行号
  • less

less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持显示各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

快捷键

操作功能说明
space向下翻动一页
[pagedown]向下翻动一页
[pageup]向上翻动一页
/(string)

向下搜寻(字符串)的功能:

n:向下查找;N:向上查找

?(string)

向上搜寻(字符串)的功能:

n:向下查找;N:向上查找

q离开less这个程序
  • >和>>

>输出重定向:会将原来的文件的内容覆盖

>>追加指令:不会覆盖内容,而是追加内容到文件尾部

基本语法功能描述
ls -l > a.txt

列表的内容写入文件a.txt(覆盖)

ls -al >> b.txt列表的内容追加到文件b.txt末尾
cat 文件1 > 文件2将文件1的内容覆盖到文件2
echo "内容" >> 文件将内容追加到文件末尾
  • echo

输出内容到控制台

echo [选项] [输出内容]

  • head

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容

基本语法功能描述
head [-n] 文件n为显示前多少行
  • tail

tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容

基本语法功能描述
tail [-n] 文件n为显示后多少行
tail -f 文件实时追踪该文档的所有更新

几种文件查看命令的区别:

cat由第一行开始显示文件内容
tac从最后一行开始显示,可以看出tac是cat的倒写形式
nl显示的时候,顺便输出行号
more一页一页地显示文件内容
less与more类似,但可以往前翻页
head只看头几行
tail只看结尾几行
od以二进制的方式读取文件内容
  • ln(link)

软链接也叫符号链接,类似于Windows里的快捷方式,主要存放了链接其他文件的路径

基本语法功能描述
ln -s [原文件或目录] [软链接名]给原文件创建一个软链接
  • history

查看已经执行过的历史命令,也可以执行历史命令

history显示所有的历史指令
history [n]显示最近执行的n条历史指令
history -c将目前的shell中的所有history内容全部消除
history -a将目前新增的history命令新增入histfiles中,若没有加入histfiles,则默认写入 ~/.bash_history
histoty -r将histfiles的内容读到目前这个shell的history记忆中
history -w将目前的history记忆内容写入histfiles中

组管理命令

  • groupadd

groupadd [组名]

创建一个组

  • useradd

useradd -g [组名] [用户名]

在某个组中创建一个用户

  • chown

改变文件的所有者,但是不改变文件的所在组

基本语法功能描述
chown [新所有者] [文件/目录名]改变文件所有者
chown [新所有者:新所在组] [文件名]同时改变所有者和所在组
chown -R [新所有者] [目录名]递归改变目录下的所有文件
  • chgrp

改变文件的所在组

基本语法功能描述
chgrp [新所在组] [文件/目录名]改变文件所在组
chgrp -R [新所在组] [目录名]递归改变目录下的所有文件
  • usermod

改变用户所在组

基本语法功能描述
usermod -g [组名] [用户名]改变用户所在组
usermod -d [目录名] [用户名]改变用户登录的初始目录

权限管理命令

  • chmod

修改文件或者目录权限

 u:所有者 g:所在组 o:其他组 a:所有人(u+g+o)
基本语法功能描述
chmod u=rwx,g=rx,o=x [文件目录名]赋予权限
chmod o+w [文件目录名]增加权限
chmod a-x [文件目录名]移除权限

通过数字的方式

r=4 w=2 x=1, rw=4+2=6, rx=4+1=5, wx=2+1=3, rwx=7
基本语法功能描述
chmod 751 [文件目录名]赋予权限

时间日期命令

  • date

显示当前日期

基本语法功能描述
date显示当前时间
date +%Y显示年
date +%m显示月
date +%d显示日
date "+%Y-%m-%d %H:%M:%S"显示年月日时分秒
date -s "日期"设置日期
  • cal(calendar)

查看日历

基本语法功能描述
cal显示当年当月日历
cal 年份显示某一年日历

搜索查找命令

  • find

find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端

find [搜索范围] [选项]

基本语法功能描述
find [搜索范围] -name [文件名]

按照指定的文件名查找模式查找文件

通配符:*.txt

find [搜索范围] -user [用户名]查找属于指定用户名的所有文件
find [搜索范围] -size [文件大小范围]

按照指定的文件大小查找文件

+20M:大于20M

20M:等于20M

-20M:小于20M

  • locate

locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate

locate 文件名

使用之前先执行updatedb指令

  • grep和管道符号|

grep过滤查找,管道符号“|”表示将前一个命令的处理结果输出传递给后面的命令处理

基本语法功能描述
cat 文件名 | grep -n 字符串显示匹配行及行号
cat 文件名 | grep -i 字符串忽略字母大小写

压缩和解压、打包命令

  • compress [-rcv] 文件或目录
  • uncompress 文件.Z

压缩/解压缩

compress -r连同目录下的文件也同时给予压缩
compress -c将压缩数据输出成为standard output(输出到屏幕)
compress -v显示出压缩后的文件信息以及压缩过程中的一些文件名变化
  • gzip [-cdtv#] 文件名
  • zcat 文件名.gz

gzip用于压缩文件,gzip -d、gunzip用于解压文件(不能压缩目录),zcat用于读取纯文本被压缩后的压缩文件

gzip -c将压缩数据输出到屏幕上,可通过数据流重定向来处理
gzip -d解压缩的参数
gzip -t用来检验一个压缩文件的一致性,检查文件有无错误
gzip -v显示出原文件/压缩文件的压缩比等信息
gzip -#压缩等级,-1最快,压缩比最差;-9最慢,压缩比最好;默认为-6
  • bzip2 [-cdkzv#] 文件名
  • bzcat 文件名.bz2

bzip2压缩文件,bzip2 -d解压文件,bzcat读取压缩文件

bzip2 -c将压缩过程中产生的数据输出到屏幕上
bzip2 -d解压缩的参数
bzip2 -k保留原文件
bzip2 -z压缩的参数
bzip2 -v显示出原文件/压缩文件的压缩比等信息
bzip2 -#与gzip相同,计算压缩比的参数 ,-9最佳,-1最快
  • zip/unzip

zip用于压缩文件,unzip用于解压

基本语法功能描述

zip -r 压缩后的文件名.zip 压缩路径

例:zip -r mypackage.zip /home/

递归压缩目录到当前目录下(保留原文件)

unzip -d 解压路径 文件名

例:unzip -d /opt/tmp/ mypackage.zip

指定解压后文件的存放目录
  • tar

tar指令是打包指令,最后打包后的文件是.tar.gz

基本语法功能描述

-c

产生打包文件
-v显示详细信息
-f指定压缩后的文件名
-z通过gzip的支持进行压缩/解压缩

tar -zcvf 打包后的文件名 要打包的文件或目录

例:tar -zcvf myhome.tar.gz /home/

例:tar -zcvf a.tar.gz a.txt b.txt

打包目录/文件到当前目录
-x

解包.tar文件

tar -zxvf 打包文件 

例:tar -zxvf a.tar.gz

解包到当前目录

tar -zxvf 打包文件 -C 解压目录

例:tar -zxvf myhome.tar.gz -C /opt/tmp/ 

解压到指定目录
-p保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
-P保留绝对路径,即允许备份数据中含有根目录存在
  • dump [-Suvj] [-level] [-f 备份文件] 待备份数据

数据备份

dump -S仅列出后面的待备份数据需要多少磁盘空间才能备份完毕
dump -u将这次dump的时间记录到/etc/dumpdateS文件中
dump -v将dump的文件过程显示出来
dump -j加入bzip2的支持,将数据进行压缩,默认bzip2压缩等级为2
dump -level-0 ~ -9共10个等级
dump -f类似tar,后面接产生的文件
dump -W列出在/etc/fstab里面的具有dump设置的分区是否有备份过
  • restore

利用备份文件恢复系统数据

restore -t [-f dumpfile] [-h]查看dump文件
restore -C [-f dumpfile] [-D 挂载点]比较dump与实际文件
restore -i [-f dumpfile] [-h]进入互动模式
restore -r [-f dumpfile] [-h]还原整个文件系统

任务调度命令

  • crond

设置定时任务

基本语法功能描述
crontab -e编辑crond定时任务

crontab -l

查询crontab任务
crontab -r删除当前用户所有的crontab任务

例如:*/1 * * * * ls -l/etc/ > /tmp/to.txt

项目含义范围
第一个*一小时的第几分钟0-59
第二个*一天的第几小时0-23
第三个*一月的第几天1-31
第四个*一年的第几月1-12
第五个*一周的星期几0-7
特殊符号含义
*代表任何时间
代表不连续的时间
-代表连续的时间范围
*/n代表每隔多久执行一次

块设备命令

  • lsblk(list block devices)

查看块设备

  • fdisk

硬盘分区

  • mkfs

格式化磁盘

  • mount/umount

挂载/卸载一个文件系统(用命令行挂载重启后会失效)

mount/umount [设备名称] [挂载目录]

永久挂载:通过修改/etc/fstab实现挂载,添加完成后执行mount -a即可生效

查找文件命令

  • which

查询脚本文件

which -a command将所有由PATH目录中可以找到的命令均列出,而不只第一个被找到的命令名称

whereis

  • 寻找特定文件
基本语法功能描述
whereis -b只找二进制格式文件
whereis -m只找在说明文件manual路径下的文件
whereis -s只找source源文件
whereis -u查找不在上述三个选项当中的其他特殊文件

locate

  • locate:依据/var/lib/mlocate内的数据库记载,找出用户输入的关键字文件名
  • updatedb:根据/etc/updatedb.conf的设置去查找系统硬盘内的文件名,并更新/var/lib/mlocate内的数据库文件
基本语法功能描述
locate -i忽略大小写差异
locate -r后面可接正则表达式的显示方式

find

  • find [PATH] [option] [action],与时间有关的参数有-atime、-ctime与-mtime
基本语法功能描述
-mtime nn为数字,意义为在n天之前的“一天之内”被更改过的文件
-mtime +n列出在n天之前(不含n天本身)被更改过的文件名
-mtime -n列出在n天之内(含n天本身)被更改过的文件名
-newer filefile为一个存在的文件,列出比file还要新的文件名
-uid nn为数字,这个数字是用户的账号ID,即UID,这个UID是记录在/etc/passwd里面与账号名称对应的数字
-gid nn为数字,这个数字是用户组名的ID,即GID,这个GID记录在/etc/group中
-user name

name为用户账号名称

-group namename为用户组名
-nouser寻找文件的所有者不存在/etc/passwd的人
-nogroup寻找文件的所有用户组不存在于/etc/group中的文件

文件管理系统命令

  • dumpe2fs

查看文件系统的相关信息

dumpe2fs -b 设备文件名列出保留为坏道的部分
dumpe2fs -h 设备文件名仅列出superblock的数据,不会列出其他的区段内容
  • df [-ahikHTm] [目录或文件名]

列出文件系统的整体磁盘使用量

df -a列出所有的文件系统,包括系统特有的/proc等文件系统
df -k以KB的容量显示各文件系统
df -m以MB的容量显示各文件系统
df -h以人们较易阅读的GB、MB、KB等格式自行显示
df -H以M=1000K代替M=1024K的进位方式
df -T连同该分区的文件系统名称(例如ext3)也列出
df -i不用硬盘容量,而以inode的数量来显示
  • du [-ahskm] 文件或目录名称

评估文件系统的磁盘使用量(常用于评估目录所占容量)

du -a列出所有文件与目录容量,因为默认仅统计目录下面的文件量
du -h以人们较易读懂的容量格式(G/M)显示
du -s列出总量,而不列出每个各别的目录占用容量
du -S不包括子目录下的总计
du -k以KB列出容量显示
du -m以MB列出容量显示
  • ln [-sf] 源文件 目标文件

连接文件

lnhard link
ln -ssymbolic link
ln -f如果目标文件存在时,就主动将目标文件直接删除后再创建
  • fsck [-t 文件系统] [-ACay] 设备名称

检验文件系统是否出错

fsck -A依据/etc/fstab的内容,将需要的设备扫描一次
fsck -a自动修复检查到的有问题的扇区
fsck -y与-a类似
fsck -Y可以在检验的过程中使用一个直方图来显示目前的进度
  • badblocks -[svw] 设备名称

检查硬盘或软盘扇区有没有坏轨

badblocks -s在屏幕上列出进度
badblocks -v可以在屏幕上看到进度
badblocks -w使用写入方法来测试
  • ulimit [-SHacdfltu]

限制用户的系统资源

ulimit -H严格设置,不能超过设置的数值
ulimit -S警告设置,超过会有警告信息
ulimit -a列出所有的限制额度
ulimit -c限制每个内核文件(core file)的最大容量
ulimit -f此shell可以创建的最大文件容量(KB)
ulimit -d进程可使用的最大断裂内存(segment)容量
ulimit -l用于锁定(lock)的内存量
ulimit -t可使用的最大CPU时间(s)
ulimit -u单一用户可以使用的最大进程数量

系统变量管理命令

  • echo $[变量名]

显示变量的具体内容

  • unset [变量名]

取消变量

  • [变量名] = [变量内容]

设置变量

  • env

列出所有环境变量

  • set

列出所有变量

  • export [变量名]

引用自定义变量给后来调用的文件或其他程序(自定义变量转为环境变量)

  • read [variable]

读取来自键盘输入的变量

read -p后面可接提示符
read -t后面可接等待输入的时间(s)
  • declare/typeset [variable]

声明变量的类型

declare -a

将变量定义成数组类型

declare -i

将变量定义为整数类型
declare -x将自定义变量变成环境变量
declare -r将变量设置为readonly类型,该不可更改内容和重设

某些系统默认变量的意义
$目前shell的线程代号
?上一个执行的命令所回传的值
HOME用户的主文件夹
SHELL目前环境使用的shell程序
HISTSIZE执行过命令的条数
MAIL邮件信箱地址
PATH执行文件查找的路径
LANG语系数据
RANDOM随机数变量

选取命令

  • cut

以行为单位分析某段信息

cut -d '分隔字符'  -f [num]依据-d的分隔字符将一段信息切割成为数段,用-f取出第某段
cut -c 字符范围以字符(characters)为单位取出固定字符区间
  • grep  [-acinv]  [-A]  [-B]  [--color=auto]  '所查找字符串'  filename

分析一行信息,并取出所需的字符串

-a将binary文件以text文件的方式查找数据
-c计算找到 '所查找字符串' 的次数
-i忽略大小写
-n输出行号
-v反向选择
-A(after),后接数字,意为除列出改行外,也列出后续n行
-B(before),后接数字,意为除列出改行外,也列出前面n行
--color=auto将找到的关键字标注颜色
  • tee  [-a]  filename

同时将数据流送与文件与屏幕

-a以累加(append)的方式,将数据加入file中

排序命令

  • sort  [-fbMnrtuk]  [file or stdin]
-f忽略大小写
-b忽略最前面的空格符
-M以月份的名称排序
-n使用数字排序
-r反向排序
-u(uniq)相同数据仅出现一行
-t分隔符,默认为Tab
-k以某个区间(field)排序
  • uniq  [-ic]

将重复的行删除至显示一个

-i忽略大小写
-c进行计数
  • wc  [-lwm]

计算输出的信息的整体数据

-l仅列出多少行
-w仅列出多少字
-m仅列出多少字符

字符转换命令

  • tr  [-ds]  SET1 ...

删除一段信息当中的文字或是进行文件信息的替换

-d删除信息当中SET1这个字符串
-s替换掉重复的字符
  • col  [-xb]

替换文本;将man page转存为纯文本文件以方便查阅

-x将tab键转换成对等的空格键
-b在文字内有反斜杠(\)时,仅保留反斜杠最后接的字符
  • join  [-ti12]  file1 file2

将两个文件当中有相同数据的一行加在一起

-t

join默认以空格符分隔数据,并且对比第一个字段的数据;

如果两个文件相同,则将两条数据连成一行,且第一个字段放在第一个

-i忽略大小写
-1第一个文件要用哪个字段分析
-2第二个文件要用哪个字段分析
  • paste  [-d]  file1 file2

将两行贴在一起,中间以Tab键隔开

-d后接分隔字符,默认为Tab
-若file部分写成-,表示来自stdin
  • expend  [-t]  file

将Tab键转成空格键

-t后接数字,表示用多少个空格替换,默认为8
  • xargs  [-0epn]  comand

参数代换,产生某个命令的参数

-0如果stdin含有特殊字符,可还原成一般字符。这个参数可以用于特殊状态
-eEOF(end of file),后接一个字符串,当xargs分析到这个字符串时停止
-p在执行每个命令的参数时询问用户
-n后接次数,每次command命令执行时,使用几个参数的意思


持续更新

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值