常用命令集合

ls

参数:
    -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
    -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
    -r 将文件以相反次序显示(原定依英文字母次序)
    -h 文件大小超过1000字节以k为单位显示或M..为单位显示 
    -t 将文件依建立时间之先后次序列出
    -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
    -F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
    -R 若目录下有文件,则以下之文件亦皆依序列出

举例:
  #显示ctime时间,并按ctime排序最近的排在最前面。ctime为修改文件属性时间
  ls -lct

  #显示mtime时间,并按mtime排序最近的排在最前面。mtime为修改文件内容时间
  ls -lt

  #按文件大小排序显示
   ls -lS

touch

创建文件、设置文件的时间(你懂的)

用ls看到的默认是mtime
参数:
    -d 同时修改atime和mtime
    -a 修改文件读取访问时间(atime)
    -m 修改文件修改时间(mtime)

举例:
#修改文件atime和mtime(其余参数也一样)
    [root@server7-128 ~]# ll 4444 
    -rw-r--r-- 1 root root 0 731 16:02 4444
    [root@server7-128 ~]# touch -d "20440911" 4444 
    [root@server7-128 ~]# ll 4444 
    -rw-r--r-- 1 root root 0 911 2044 4444

stat

查看文件或目录的属性信息如:时间、存储信息等


ctime :表示最近修改文件属性的时间(修改权限,访问文件,修改文件内容都会发生变化)
mtime :表示最近修改文件内容时间
atime :表示最近访问文件的时间

效果:
    [root@server7-128 ~]# cat stat.txt 
      File: ‘4444’
      Size: 0           Blocks: 0          IO Block: 4096   regular empty file
    Device: 802h/2050d  Inode: 25247053    Links: 1
    Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    Access: 2044-09-11 00:00:00.000000000 +0800
    Modify: 2044-09-11 00:00:00.000000000 +0800
    Change: 2018-08-11 06:11:08.022203649 +0800
     Birth: -

****思考:如何偷偷修改文件不被发现是啥时候修改的文件?
    同时要能修改c、m、atime时间,只有用 能读 能修改 的命令如:vim 文件名 
    步骤:
        date -s "2000-09-11 00:00:00" #先修改系统的时间
        vim 4444    #修改文件属性
    结果:
        输入:stat 4444
        Access: 2000-09-11 00:00:07.601143253 +0800
        Modify: 2000-09-11 00:00:07.601143253 +0800
        Change: 2000-09-11 00:00:07.608143384 +0800


uniq (主要用于统计重复次数)

 重复行数统计 唯一的,独特的,经常和 sort一起使用 

参数:
    -c:统计每行重复的次数;   
    -u:只显示没有重复的行;
    -d :  只显示重复过的行;

sort (排序显示)

排序 放在比较靠后,必须等待信息处理到,比较整齐的时候。

    参数:
        -f: 忽略字符大小写;
        -n: 以数值大小进行排序 ;  不加 n   默认 按照数字排列方式,排序
        -r: 降序排序;  配合:字母排序,数字排序
        -u: 移除重复的行,具有相同内容的行只保留一个;  ##除此外一般不会对输出信息作出改动
        #-R: 随机排序;
        -t:  指定排序依据的 分割符,不指定则默认以 “空格” 为分割符
        -k: 以第几列为依据。


语法 :    sort -t 分隔符 -n  指定以那一列进行数值大小排序

     #将 /etc/passwd  的信息, 按照   UID 的大小排序                
     cat /etc/passwd | sort -t: -k3 -n 

     ## 倒序。
     cat /etc/passwd | sort -t: -k3 -n  -r   

wc

输出信息统计

wc  [options] FILE
参数:
    -l   统计总共多少行 
    -w   显示单词数
    -c   显示字节数

tr (类似sed)

简易的替换工具 ,tr无法修改源文件,sed可以修改源文件

tr [a-z] [A-Z]  /etc/passwd       #将小写字母依次替换为大写字母
echo "123456" | tr '135' 'djv'    #/将字符串中1替换为d   1->d,3->j,5->v  单个字符对应替换,而不是整体去替换,一定要清楚
df -h | tr '%'  '  '              #%替换为空格
df -h | tr -d '%'                 ##匹配到的%字符,删除。

ifconfig 与 ip a 、ifup 、ifdown

#开启ens33网卡
ifup ens33

#关闭ens33网卡
ifdown ens33

#显示当前开启的网卡信息(仅显示开启的网卡)
ifconfig

#显示ens33网卡信息
ifconfig ens33

#临时设置ens33 IP地址,永久生效需修改/etc/sysconfig/network-scripts/ifcfg-ens33 配置文件 (红帽7版本)
ifconfig ens33 192.168.100.2

#显示所有网卡信息(包含没开启的网卡)
ip a

which

搜索命令文件所在路径 + 命令的别名记录

[root@server1 dir1]# which ls
alias    ls='ls --color=auto'   #命令的别名记录。
 /bin/ls   #命令文件所在位置

whereis

命令的帮助文档所在路径 只能针对命令操作。 不能搜索文件/目录

[root@server1 dir1]# whereis ls #查看ls的帮助文件位置
ls: /bin/ls
/usr/share/man/man1p/ls.1p.gz    /usr/share/man/man1/ls.1.gz

alias

取别名: 使用自定义字符,代替系统的“某一命令”或者“命令组合”

#查看当前能用的别名
alias

#设置新记录 用ll代替ls -l(临时生效,需永久生效需写在开机自动加载的shell脚本里,比如写在/etc/profile,等等不一一列举)
  alias "ll" = "ls -l"

#unalias  删除别名。
  unalias ll  

locate

文件查找;通过数据库查找,速度比find快
@@注意:新建文件后需用 updatedb 更新数据库,才能查到

##默认数据库文件在/var/lib/mlocate/mlocate.db
#查找家目录下以.sh结尾的文件
locate ~/*.sh

#更新数据库
updatedb

find 与xargs

文件查找,通过遍历实际目录查找,速度慢,耗资源多
find 查找路径 参数 动作 {} \;
{}\;需要对结果引用时才加,不需要可以不加

参数
    -name按照文件名查找文件
    -inum     指定文件的id(多用于删除特殊文件名文件,通过ls -i得到文件id,然后通过find删除)
    -iname按照文件名忽略大小写查找
    -a 逻辑参数类似&&
    -o 逻辑或 ||
    -perm按照文件权限来查找文件
    -size按照文件大小来查找
    -type按照文件类型来查找
    -user|-nouser属主|没有uid
    -group|-nogroup属组|没有gid
    -mtime+n按文件更改时间来查找文件,-n指n天以内,+n指n天以前
    -atime-n按文件访问时间来查
    -ctimen按文件创建时间来查找文件,-n指n天以内,+n指n天以前
    -regex正则表达式
    .*任意多个字符
    [0-9]任意一个数字
动作:
    -exec:对匹配的文件执行该参数所给出的shell命令。
    -ok:和-exec的作用相同,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
    -delete:删除文件
    -ls:列出文件
    -print:打印

======xargs
    多用于将多行转成一行数据用空格分割
  参数  
    -d# :以#号作为分割符(也可用其他符号),默认是以回车做分割多列
    -n2  :将分割数据每行输出2   例如:
    echo "a#b#c#d#e#f" | xargs  -d# -n2 
    结果:
    a b
    c d
    e f

=====find与xargs结合用法
#只查找当前目录下(一级目录,不递归查找)所有文件和目录,并且每行输出三个文件或目录
find . -maxdepth 1 -name "*" | xargs -n3

tar

压缩打包

参数:
    -c create 产生打包 (必选)
    -x 解包
    -t 查看tar文件目录
    -z  以gzip命令进行压缩
    -v 显示打包的详细过程
    -f filename 指定打包后的文件名 (必选)  

#压缩并打包显示过程 (尽量相对路劲打包)
 tar -czvf  dir.tzr.gz dir1    #tar 参数 打包文件名 打包的目录
 # 解包并显示过程
 tar -xzvf  dir.tar.gz          

history

历史记录

#命令查看记录,就是看的缓存中的命令记录
history

# 清除缓存中的命令历史记录。    
history -c 

将缓存中记录的最新的命令,立刻追加同步到 .bash_history 文件中。
history -a

#修改历史记录容量
vim /etc/profile    修改里面的  HISTSIZE=1000    变量值即可。

》》原理:登录时自动加载.bash_history文件内容到内存,退出登
录时自动将内存中的历史记录保存到.bash_history文件,如果
用-c立刻清空内存记录,再用-a保存到日志文件里,日志文件里
会没有记录的,可以逃过管理员的检查。后期会写一个用户监控脚
本,让其无法修改日志

dd

#创建一个自定义大小的mp4文件
#if:源,of:目标 bs:块大小 count:块个数
dd if=/dev/zero of=123.mp4 bs=500M count=1      

date

时间与日期函数

#设置系统时间(后面接着会讲与硬件时间区别)
date -s "2020-12-02 10:40:23"

#显示年月日
date +%F
结果:2018-08-11

#显示年-月-日 时:分:秒,+号必须写,其余的可以根据自己需要删减
date "+%Y-%m-%d %H:%M:%S"
结果:2018-08-11 16:45:12

#显示5天后时间 (两个都一样效果)
date -d '5days' +%F
date +%F --date='5days'
    结果:2018-08-16

#显示5天前时间(两个都一样效果)
date -d '5days ago' +%F
date +%F --date='5days ago'
    结果:2018-08-06

#根据以日期为文件名创建文件(``$()效果一样)
touch  `date -d '6days ago' +%F`.date
touch  $(date -d '6days ago' +%F).ssssss
    结果(ls查看):2018-08-05.date      2018-08-05.ssssss

NTP 时钟服务器

用校准时间

date        #软件时钟【系统时钟】(设置系统时钟后需要更新到硬件时钟,
                                                #重启后才会生效)
hwclock     #硬件时钟。(系统启动时以硬件时钟更新系统时间)

#安装服务
yum install ntpdate
#以阿里时钟服务器更新系统时钟(也可以直接写服务器ip)
ntpdate  ntp1.aliyun.com

#将系统时钟调整为与目前的硬件时钟一致;
hwclock --hctosys 
#将硬件时钟调整为与目前的系统时钟一致;
hwclock --systohc
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值