Linux常用命令之a-n

目录


linux下ctrl+s是暂停终端的输入,ctrl+q:恢复向终端输入
三剑客:grep:过滤文本,sed:修改文本,awk:处理文本

alias/unalias

  • alias x=‘y’: 命令别名设定,使用x代替y
  • 不接参数查看有哪些命令别名

at

at [-mldv] TIME:单一工作调度的进行就使用这个指令,使用at时会进入一个at shell的环境来让用户下达指令;使用ctrl+d结束指令输入;最好使用绝对路径下达指令
at -c jobnumber;

  • -m:当at的工作完成后,即使没有输出信息,也会以email通知使用者该工作已完成
  • -l:相当于atl,列出目前系统上所有该用户的at调度
  • -d:相当于atrm,取消一个在at调度中的工作
  • -c:列出后接工作的实际指令内容
  • TIME:时间格式

at的另一功能:后台执行
atrm jobnumber:删除at工作

anacron【-sfn】【job】…

  • anacron【-sfn】【job】…
  • anacron -u 【job】…
    • -s:开始连续的执行各项工作,会依据时间记录文件的数据判断是否进行

awk

awk ‘条件类型1 {动作1} 条件类型2 {动作2} ……’filename:
1. 以行为一次处理的单位,以字段为最小的处理单位,从第一个字段开始,以$0开始表示,$0是整行,$1是第一个,当我们不指定分隔符的时候,awk会默认按照空格进行分割,当字符中间的空格有多个的时候,awk会将连续的空格理解为一个分隔符
2.后续所有动作以‘’括住del
3.利用BEGIN关键字和END关键字
4.默认字段以tab或空格键分割
awk的内置变量:
• NF:当前行的字段个数(注意不是字符个数)
• NR:行号,当前处理文本行的行号
• FS:输入字段分隔符,默认为空格键
• OFS:输出字段分隔符
• FNR:各文件分别计数的行号——?
• FILENAME:文件名称
• ARGC以及ARGV:数组以及命令行参数的个数
自定义变量:
awk的处理流程:
1. 读入第一行,并将第一行的数据填入$0, $1等;
2. 根据条件类型判断是否要进行后面的动作
3. 做完所有的动作与条件类型
4. 若还有后续行,重复前三步

bc:计算器

 预设只显示整数,如果要输出小数点下位数,必须先执行scale=num,num表示要输出的小数点数
 quit:离开

bg %jobnumber:

bzip2【-cdkzv#】文件名:

• -c:将压缩过程产生的数据输出到屏幕上
• -d:解压缩
• -k:保留源文件而不删除
• -z:压缩
• -v:显示 源文件/压缩文件的压缩比

cal:显示日历

• 不接参数显示本月日历
• 接年数显示这一年的日历
• cal m y 显示y年m月

cat / tac:

-E:将行尾的断字符显示出来
-n:打印行号,连同空白行号都会打印
-b:列出行号,仅对非空白行
-v:列出一些看不出的特殊字符
-A:相当于-vET,可以列出一些特殊字符
使用cat 和重定向符 >可以创建并编辑文件

cd:

  • cd -:返回之前的目录
  • cd ~:(波浪)进入home目录

chage【-ldEImMW】账号名:详细的密码参数显示功能

  • -d:后接日期,修改shadow的第三字段;可用于在使用者第一次登入时强制其修改密码

chattr:文件隐藏属性的设置

• +:增加一个特殊参数,其他原本存在的参数则不动
• -:删除一个特殊参数,其他参数不动
• =:仅有后面接的参数
• a:只能写入内容,而不能删除也不能修改内容,只有root才能设定此属性
• i:让一个文件不能被删除,改名,软连接可以,硬链接不行,无法写入或添加内容,只有root才能设定此属性
• c:设定后,存储时会自动压缩,读取的时候自动解压缩

chgrp

chgrp [-R] dirname/filename(chgrp 用户组 文件/目录):修改文件所属群组

  • -R:进行递归更改

chmod

设置权限的方法有两种,使用数字或者符号;修改文件权限
chmod 【-R】xyz 文件或目录,xyz即为数字权限类型
chmod u/g/o/a +/-/= r/w/x 文件或目录
-R:递归,即目录下的所有文件都会更改

chown

chown [-R] 账号名称:组名 文件/目录 :修改文件所有者
-R:递归更改
1. 单独修改文件所有者
2. 修改文件所有者和组名,中间用“:”隔开
3. 只修改用户组,在用户组名前加 .

chsh【-ls】:

• -l:列出目前系统上可用的shell,也就是/etc/shells的内容
• -s shell:设定修改指定的shell

cmp【-s】file1 file2:

• -s:将所有不同点的字节处都列出来

col【-xb】:

• -x:将tab转换成对等的空格,1tab=4space?
• -b:在文字内有/时,仅保留/后的字符:经常被用来将man page转存为纯文本文件以方便查阅

cp

cp【-adfilprsu】源文件 目标文件 :默认情况下源文件与目的文件的权限不同,目的文件的所有者通常是命令操作者本身;多个命令使用方式如
• -i:若目标文件已存在,再覆盖前会先进行询问操作
• -a:连同文件的所有特性都复制过去
• -p:连同文件的属性一起复制过去,而非使用默认属性
• -r:复制目录及目录下的所有文件
• -s:复制成为符号链接文件,即快捷方式文件
• -l:进行硬连接的连接文件创建,不能从一个目录创建到另一个目录?-s 则可以
• -u:若目标文件比源文件新才更新目标文件,所以这个特性是在两个文件存在差异时才会进行复制
• -d:若文件为链接文件属性,直接使用cp复制的是源文件而非链接文件,使用该参数后复制链接文件属性而非文件本身
注:1. 可以使用通配符; 2. 源文件可以为多个文件,目的一定为目录!

cpio:

 备份:-ovcB
• -o:将数据copy输出到文件或设备上
 还原:-ivcdu
• -i:将数据自文件或设备复制到系统当中
• -d:自动新建目录,使用cpio所备份的数据内容不见得会在同一层目录中
• -u:自动将较新的文件覆盖较旧的文件
• -t:
 查看:-ivct
• -v:让存储的过程中文件名可以在屏幕上显示

crontab:

• 在文件/etc/deny中记录拒绝哪些用户使用该服务
• 当用户使用crontab建立工作调度后,该项工作会被记录到/var/spool/cron目录下,以用户名为文件名
• cron执行的每一项记录会被记录在/var/log/cron中
 语法:
• -e:编辑crontab的工作内容
• -l:查看crontab的工作内容
• -r:移除所有的crontab的工作内容,若要移除某一项使用-e编辑
 若是系统例行性工作则只要编辑/etc/crontab文件

cut:将一段信息中的某一段切出来,以行为单位进行处理

 cut  -d‘分隔字符’ -f fields:用于有特定的分隔字符
 cut -c 字符区间:用于排列整齐的信息
• -d
• -f:依据-d分隔的区间,取出第几段
• -c:以字符为单位取出固定的字符

declare 【-aixr】 var:声明数值类型;变量默认为字符串

 -:增加一个参数
 +:取消一个参数
• 不接内容会将所有变量和内容显示出来
• -a:定义为数组类型
• -i:定义为整数类型
• -x:同export,将变量设置为环境变量
• -r:将变量设置为只读类型,该变量不能被更改内容,也不能unset
• -p:单独列出变量类型,效果同 export | kk var

df【-ahikHTm】目录或文件名:列出文件系统的整体磁盘使用量,读取superblock内的信息

• 不带任何参数:列出所有文件系统
• -h:以GB,MB,KB等格式自行显示
• -a:列出所有的文件系统,包括系统特有的/proc等文件系统
• -i:以inode的数量显示
• -T:连该分区的文件系统名称(如ext3)列出
• 后接文件或目录,会自动分析该目录或文件的分区,并将该分区的容量显示出来

diff【-bBi】from-file to-file:

 from-file:原始的对不文件,to-file:目的对比文件,这两个文件可以用-取代,-代表standard input
• -b:忽略一行当中仅有多个空白的差异
• -B:忽略空白行的差异
• -i:忽略大小写的差别

dmesg:内核检测到的信息都可通过该命令读出来

du [-ahskm] 文件或目录名称

• 不接参数:分析当前目录下文件与目录所占用的硬盘空间
• -a:列出所有的文件与目录容量
• -h:以易读的容量格式G/M显示
• -s:列出总量而不是列出每个个别的目录容量
• -k:以kb列出容量显示
• -m:以MB的容量显示文件系统
• du --max-depth=1 -h xx:xx下每个目录所占磁盘大小

dumpe2fs:

e2label 设备名称 新的label名称

echo:

• echo $$:PID号
• -e:如要接格式符需加该参数,格式符见printf命令
• -n:不换行输出

edquota:

 edquota [-u username]/[-g groupname]
 edquota -t
 edquota -p 复制范本账号 -u 新账号
• -u:后接用户账号,编辑username的限制值
• -g:后接用户组账号,编辑groupname的限制值
• -t:修改宽限时间
• -p:后接复制范本

env:

exit:这个指令让程序中断,返回一个退出码

exit n:自定义回传信息,可以使用echo $?得到该信息

expand【-t】file(unexpand):

-t:一般tab为8个空格,这个参数后接数字重新设置tab的空格键
unexpand:将空格转换成tab

export:

直接接变量,将该变量设置为环境变量
不接任何参数:列出所有环境变量
如:export PATH=$PATH:/opt/au1200_rm/build_tools/bin

fdisk【-l】设备名称:

直接接目录,可以根据提示进行分区,删除分区等

fg %jobnumber:让后台中为jobnumber的工作在前台运行,%可有可无

file

判断文件属于ASCII或者是data文件或者是binary,且其中有没有用到动态函数库等信息
使用vim编辑一个未命名的文件,完成后会提示文件未命名,这时可以使用file:filename

find:

xx -name  yy:xx为指定查找的目录,yy为要查找的文件名

finger【-sm】username:查阅用户的信息

-s:列出用户的账号,全名,终端机代号,登入时间等
-m:列出与后面接的账号相同者?

free:显示系统内存使用情况,包括物理内存,交换内存等

-h:显示的比较详细,适合人读
-s:指定间隔秒数不断获取
-k(kb)/-m(MB)/-g(GB)显示存储

getfacl:参数同setfacl

gpasswd:root可以使用该命令设置群组管理员

 gpasswd groupname:没任何参数时,给予groupname一个密码
 gpasswd 【-A user1】【-M user3】groupname:
-A user1:将user1作为groupname的组管理员
-M:将某些账号加入groupname
 gpasswd 【-rR】groupname:
-r:将groupname的密码移除
-R:将groupname的密码栏失效
gpasswd 【-ad】user groupname
-a:将使用者user加入到用户组(groupname)中
-d:将使用者user移出groupname中

grep【-acinvAB】【–color=auto】‘搜寻字符串’ filename:以整行为单位进行处理

-a:将binary文件以text文件的方式搜寻
-c:计算找到的字符串的次数
-i:忽略大小写
-l:只列出包含匹配行的文件名,而不输出真正的匹配行
-n:输出行号
-q:如果找到了返回0,否则返回1
-w:精确匹配
-v:反向选择,即找出没有‘搜寻字符串’的行
-A:后加数字,为after,除了列出改行外,后续n行也列出来
-B:后加数字,为before,除了列出该行外,前面n行也列出来
-E:启用扩展表达式
--color==auto:将找到的关键词的部分加上颜色
-r:递归查找,如要在某个文件夹下查找含有字符xx的信息:grep -rn "xxx" *(*为当前目录下的所有文件)

groupadd【-g GID】【-r】用户组名:

-g GID:直接给予用户组一个GID
-r:建立系统群组。与etc/login.defs内的GID_MIN相关

groupdel【groupname】:删除用户组,但作为某个账号的initial group 就不能被删除

groupmod【-g gid】【-n group_name】群组名:进行group相关参数的修改

-g gid:修改既有的GID数字
-n group_name:修改既有的组名

gzip【-cdtv#】文件名:

-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理
-d:解压缩
-v:显示源文件/压缩文件的压缩比
zcat 文件名.gz:读取gz文件的内容

head

使用:只看前面几行,默认显示前10行
-n number:显示number行数,如果number是负数表示后面的number行不会打印

history:历史命令

不加参数列出所有下达过的指令,从什么时候开始?
n:最近n笔指令
-c:将目前shell中的所有history内容全部消除
-w:将目前的history内容写入~/.bash_history中
 以下指令前不加history这个命令
!number:执行第几笔指令
!command:由最近的指令向前搜索开头为command的那个指令并执行
!!:执行上一条指令

htop:

id:查询自己或其他人的UID,GID

init:切换执行等级,依次为:

run level0:关机
run level3:纯文本模式
run level5:含有图形接口模式
run level6:重启

jobs:观察目前的背景工作状态

-l:除列出job number与命令子串外,同时列出PID
-r:仅列出正在后台运行的工作
-s:仅列出正在后台暂停的工作

join【-ti12】file1 file2:将两个文件要比对的字段取出来放在行首;此外需注意,需要处理的文件需先经过排序(sort)处理,在处理两个相关数据文件时很有帮助

-t:默认以空格分割数据,且比对第一个字段的数据,若相同则将两行连接成一行,且第一个字段置于行首
-i:忽略大小写的差异

kill 【signal】%jobnumber:

-l:列出目前kill能够使用的signal
-9:立即强制删除一个工作,通常为删除一个不正常的工作
-15:默认值,以正常步骤结束一项工作

ld:链接

-e:后接要设为程序入口的函数名,ld默认的程序入口为_start
-o:后接链接输出的文件名

ldd:判断某个可执行文件包含哪些函数库

-v:列出所有内容的信息
-d:
-r:

less

使用:同more的功能,比more更灵活
空格:向下翻页
pagedown:
pageup:
/字符串:向下搜索
?字符串:向上搜索
n:重复前一个搜索
N:反向重复前一个搜索
q:离开

ln【-sf】源文件 目标文件:

使用: ln【-sf】源文件 目标文件
不加任何参数的链接为hard link,文件名与原文件名相同
-s:symbolic link,软链接,类似与建立快捷方式:ln -s real_file symbol_file,real_file是真实文件,symbol_file是软连接,目录和文件都适用
-f:如果目标文件存在,就将目标文件直接删除后重新创建
-i:查看文件的节点号
注:实体链接:不能跨文件系统;不能链接目录
      符号链接:建立一个独立的文件,软链接可以链接目录,进入链接目录相当于进入源目录

locale:语系变量

列出系统中所有支持的语系,存在于文件/usr/lib/locale/

locate查找文件,【-ir】keyword:直接在后面接文件的部分文件名就可以进行
-i:忽略大小写的差异
-r:后面可接正则表达式的显示方式
因为locate是在数据库/var/lib/mlocate中寻找数据,所以如果有必要需要使用updatedb命令手动更新数据库

ls:

-a/A:列出全部文件,包括.隐藏文件,A不包括 . 和 ..
-d:这个参数仅列出该目录本身,而不是目录内的内容。单独使用则为 .
-h:将文件容量以易读的方式(GB,KB)列出
-l:列出文件的权限和属性
-i:打印出每个文件的inode
-F:区分文件和目录
-R:递归选项,列出当前目录下包含的 子目录中的文件。

lsattr【-adR】文件或目录:使用chattr设定文件属性后,使用该命令查看隐藏的属性

• -a:将隐藏的文件属性显示出来
• -d:如果接的是目录,仅列出目录本身的属性而非目录内的文件
• -R:连同子目录的属性一并列出来

lsmod:系统会显示出目前已经存在于内核当中的模块,显示内容包括:

• 名称
• 大小
• 此模块是否被其他模块使用(模块具有依赖性)

man【-fk】命令:

• -f:找出有命令
• -k:
• 2:2表示查看系统调用手册,如man 2 read,查看系统调用函数read

mkdir【-mp】目录名称:创建目录

• -m xxx:配置文件的权限,直接设置,不用看默认权限,xxx为文件权限
• -p:建立递归目录,哪一层不存在则创建哪一层

mkfs [-t 文件系统格式] 装置文件名:

• -t:后接文件系统如ext3等

modinfo【-adln】【模块名称】:

• -a:仅列出作者名称
• -d:列出该模块的说明
• -l:列出授权
• -n:列出该模块的详细路径

more

使用:翻页检视,可以使用这个命令直接查看文件
空格键:向下翻页
enter:向下一行
/字符串
• :f :显示文件名及行号
• q:离开文件
• b或ctrl+b:往回翻页,只对文件有用

mount:挂载或将一个目录挂载到另一个目录(挂载某个目录)

• mount -a:依配置文件/etc/fstab的数据将所有未挂载的磁盘都挂载上来
• -l:查看目前已挂载的文件系统
• -n:
• -o:后可接一些挂载时额外加上的参数,如账号,密码,读取权限等
• --bind:可以将某个目录挂载到另一个目录,而不是整个文件系统

mv

使用:移动或更名
-f:目标文件已存在,不会询问直接覆盖
-i:目标文件存在时会询问是否需要覆盖
-u:目标文件存在且源文件新时才会更新

nl:添加行号打印,以下这些命令可以连用,分别用空格隔开;待用

• -l:指定行号制定的方式,两种方式:-b a/t:空行列出行号或不列出
• -n:列出行号的表示方法,后面又可以接三种参数:-ln:在屏幕最左方显示;-rn:在自己字段的右方显示且不加0;-rz:在自己字段的右方显示且加0
• -w:行号字段的占用位数

netstat

-a:显示所有的连接和监听端口。
-n:以数字以点分十进制的形式显示地址和端口号,不进行DNS解析。
-t:仅显示TCP连接。
-u:仅显示UDP连接。
-p:显示每个连接对应的进程信息。
-r:显示路由表信息。
-s:显示详细的网络统计信息。
-i:打印出接口信息
-c:每隔1s就重新显示一遍,直到用户中断

使用举例如下:

查看所有连接: netstat -a
查看所有TCP连接: netstat -t
查看所有UDP连接: netstat -u
查看所有监听端口: netstat -l
查看哪些端口被打开:netstat -anp
查看路由表: netstat -r
查看每个连接对应的进程: netstat -p
查看详细的网络统计信息: netstat -s
查看一个端口是否被打开:netstat -an | grep <port> 可以查看端口是否被打开
根据端口/进程号查看对应进程/端口:netstat -tunlp | grep <process-id>/<port> (t和u根据tcp/udp选择)(这个命令可以根据端口查哪个进程在使用,或者查看某个进程占用哪些端口)

通配符

*:匹配一个字符串
?:匹配单个字符
[]:匹配方括号中出现的任何一个单字符,字符范围可以用类似[a-z]这种形式指定
[!]:这种形式表示将不需要的内容排除在外,如[!a]
[^set]:对括号中的内容取反,即匹配任何括号中没有出现的内容
{... , ... , ...}:允许将任意字符串放在集合中供使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值