美文网首页
一、命令杂项

一、命令杂项

作者: 离港时的灯塔 | 来源:发表于2024-01-14 11:52 被阅读0次

    1、在/etc/profile.d下面的脚本在开机的时候回自动执行,但必须以.sh结尾

    2、enable 命令查看内部命令shell内部的命令
        enable -n   ls    禁用内部命令的ls功能
        enable   ls        启用禁用的命令

    3、PS1变量为颜色控制变量,可以修改字体和背景的颜色
        PS1='[\e[1;33m\]\u@\h \W]\$'        字体为黄色

    4、获取帮助
    help命令可以查看所有的内部命令的帮助
    前面带*的为禁用的内部命令
    whatis    依赖whatis数据库,刚完成系统安装是没有的,会自行安装,也可以输入命令打开
    centos 6 makewhatis
    centos7 mandb

    5、查看信息
    which 列出命令路径
            --skip-alias  取消命令的别名
    tree列出文件列表
    pstree查看进程树      安装  yum -y install psmisc
    lshw查看硬件信息
    lspci 查看pci接口上的硬件信息
    hexdump   查看二进制文件的信息信息     hexdump -c | -C 查看详细信息,可以用于查看分区的数据内容,hexdump -c -n 512   /dev/sda
    xxd  文件名     功能类似hexdump
    uname -m  CPU类型   uname -r    内核版本

    6、bc命令使用   内部计算器
    可以通过命令行进行计算
    输入二进制   ibase=2
    输出二进制   obase=2
    退出进制转换   exit
    退出计算器     quit
    可以采用通道的方式进行计算       echo   1+2 | bc

    7、hash命令,列出所有缓存的命令路径,执行命令就能看到所有的缓存路径
    hash -d  hostname    删除hostname 命令的缓存路径
    hash  -r    删除全部

    8、alias为命令别名
    alias  new=‘old name’
    如果出现别名和命令冲突,可以用'cmd'方式进行执行,或者输入绝对路径
    unalias   -a    取消所有别名
    命令前面加\就是取消别名的命令

    9、ntpdate ip
    netdate   172.16.0.1
    clock  硬件系统时间,修改硬件系统时间  clock -w
    cal -y   显示日历
    date   显示系统时间
    timedatectl    时间设定    timedatectl  set-tinezone   Asia/Shanghai   修改时区 
    localect 语言设定,其实就是LANG变量配置   localectl list-locales   列出所有语言

    10、获取帮助
    man 帮助   1、用户命令   2、系统调用   3、C库调用   4、设备文件及特殊格式   5、配置文件格式
    6、游戏   7、杂项   8、管理类命令   9、linux内核API
    whatis 命令可以查看帮助中的章节都有哪一些
    man  [1-9]  cmd
    /etc/share/doc   每安装一个命令或者包都会生成一份对应的文件夹,用来存储帮助文档
    info  cmd   获取info格式的帮助指令 内容贼详细,就是太多了

    11、/etc/issue 打印用户登录前信息,写上啥就打印啥
    /etc/motd     打印用户登录前信息,写上啥就
    /etc/locale.conf    为LANG变量配置文件   LANG=”zh_CN.UTF-8”   支持汉字
    安装中文的man帮助yum install man-pages-zh-CN.noarch

    12、关机命令
    shutdown -h   n     n分钟后关闭计算机  shutdown -c    取消设定的关机

    13、虚拟窗口命令
    screen     开启一个新的虚拟窗口,用于进行长时间的命令,不会因为ssh断开而出问题
    screen -ls    列出已经打开的虚拟窗口,会列出pid,通过关闭pid就可以停止screen
    screen -S   name    为虚拟屏幕设定名称
    screen -x   name   加入到name的指定的屏幕中,一般用于相互帮助中
    exit  退出当前的screen 
    screen -r   name   恢复指定的screen
    ctrl +a +d   剥离当前screen 

    14、快捷键
    ctrl + u  删除贯标处到行手
    ctrl + k  删除光标处到行尾
    Alt + r   删除正好
    ctrl +xx   行首和行尾切换
    ctrl + e  移动至行尾
    ctrl + a 移动至行首
    alt + f 向右移动一个单词尾部
    alt + b 向左移动一个单词头部

    15、df、du命令
    du -sh   /dir     查看指定目录的磁盘占用量
    df  -i    查看inode节点的利用率

    16、 lsblk   查看系统已经安装的块设    备

    17、/etc/DIR_COLORS   这个文件是关于文件类型和颜色的对应配置文件

    18、basename    只要路径中的文件名字
            dirname      只要路径中的路径名称

    19、ls的和stat的使用
    ll --time=atime    列出文件读时间  显示的是文件中的数据最后被访问的时间
    ll --time=mtime    修改时间        显示的是文件内容被修改的最后时间
    ll --time=ctime    状态修改时间    显示的是文件的权限、拥有者、所属的组、链接数发生改变时的时间
    stat列出更详细的内容,包含以上的三个时间

    20、通配符
    *  匹配零个或多个字符
    ? 匹配单个字符
    ~ 当前用户家目录
    ~fu   用户fu的家目录
    ~+ 当前工作目录
    ~-前一个工作目录
    [0-9]  匹配数字范围
    [a-z] 匹配字母或者大写的也行
    [wang] 匹配列表中任何一个字符
    [^wang]匹配列表中所有字符以外的字符

    21、cp命令
    cp -b   目标存在可以做出备份文件,在文件名后面增加~
    cp -a   复制全部内容,包括所有者和时间戳
    cp -u   只复制更新的文件和没有存在的文件
    --preserv   声明部分设置需要复制,比如属主信息等   ownership   属主属组

    22、当一个文件删除后所占用的磁盘空间没有施放,可以通过重定向的方式
    rm只是将文件链接解除,如果此时有进程打开文件,系统是不会回收文件。
    >   文件名   这样文件对磁盘的占用就会消失,然后再删除即可

    23、批量文件名修改
    rename    .log   .log.bak *

    24、ln
    硬连接不能用于目录文件,不能夸分区
    软连接可以用于夸文件系统
    每个目录文件有三个连接数,其中有一个是自己目录中的  .  还有一个是其中子目录下面的 . .  

    25、set命令
    set -C   关闭覆盖功能
    set +C  打开覆盖功能

    26、多行重定向
    cat   << EOF
    后面的字母随便定义就行,只要输入这个字母就会结束,,这个字母前后不能带任何空格
    > 输出重定向
    1 > file   正确输出
    2 > file   错误输出
    & > file   正确和错误输出
    > file   2>&1   正确输出和错误输出放到一起   

    27、tr命令    将输入的字符进行替换
    tr  ‘ ’  +   将内容中的空格转换为+号

    28、CentOS7 单元用户模式
    在grub引导向后面添加   init=/bin/bash 
    登录成功后重新挂载文件系统为读写   mount -o rw,remount  /

    29、 用于linux系统之间拷贝文件采用的
    scp  srcfile   user@ip:/path

    30、time 命令执行的时间
    time    命令
    radl   全部时间
    user   用户空空间时间
    sys     内核占用的时间

    31、查看socket连接状态
    ss   -nt
    或者   cat   /proc/net/tcp
    -l:  listening         【ss -l列出所有打开的网络连接端口】
    -s:  summary        【显示 Sockets 摘要】
    -r:  resolve        【解析服务名称】
    -m: memory        【显示内存情况】

    32、查看指定命令所需要的安装的包
    yum provides 查找提供指定内容的软件包
    rpm   -pf   命令路径     查看已经安装的命令是属于哪个安装包的

    33、修改内核参数
    sysctl   -a     显示所有可以更改的内核参数
    sysctl   net.ipv4.ip_forward=1        修改内核转发参数,使其使能
    /etc/sysctl.conf      这是sysctl的配置文件,写入的内容可以开机的时候自动执行修改内核参数
               net.ipv4.ip_forward=1      在配置文件中直接这么写就行     
    sysctl   -p     重读配置文件

    34、启用系统scsi总线扫描    用于不显示刚刚增加的硬盘
    echo '- - - '  > /sys/class/scsi_host_host2/scan

    35、二进制文件读写命令dd
    dd   if=/dev/sda(输入文件或者设备)        of=/data/data(输出文件)            bs=1 (块数)       count=64(一个块大小)     skip=446(跳过输入设备的钱446个字节数)|seek=446(跳过输出设备前446个字节)

    36、生成UUID值
    uuidgen    命令

    37、fuser命令
        用于报告进程使用的文件和网络套接字
        fuser   -v    /mnt     查看那个用户在使用/mnt这个目录
        fuser   -km    /mnt      杀死所有的使用/mnt这个目录的用户

    38、W命令
     w命令用于显示目前登入系统的用户信息。
    执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。
    单独执行 w 指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息

    39、dmseg命令
    显示开机信息,kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。

    40、命令有很多子命令,如果不出现tab键进行补全的话,需要安装bash-completion 软件包

    41、定时计划任务设置
    yum install crontabs
    systemctl enable crond (设为开机启动)
    systemctl start crond(启动crond服务)
    systemctl status crond (查看状态)

    vi /etc/crontab
    可以看到:
    Example of job definition:
    .---------------- minute (0 - 59) 分钟
    | .------------- hour (0 - 23) 小时
    | | .---------- day of month (1 - 31) 日
    | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 月
    | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat  周
    | | | | |
    * * * * * user-name command to be executed
    */30 * * * root /usr/local/mycommand.sh (每天,每30分钟执行一次 mycommand命令)
    * 3 * * * root /usr/local/mycommand.sh (每天凌晨三点,执行命令脚本,PS:这里由于第一个的分钟没有设置,那么就会每天凌晨3点的每分钟都执行一次命令)
    0 3 * * * root /usr/local/mycommand.sh (这样就是每天凌晨三点整执行一次命令脚本)
    */10 11-13 * * * root /usr/local/mycommand.sh (每天11点到13点之间,每10分钟执行一次命令脚本,这一种用法也很常用)
    10-30 * * * * root /usr/local/mycommand.sh (每小时的10-30分钟,每分钟执行一次命令脚本,共执行20次)
    10,30 * * * * * root /usr/local/mycommand.sh (每小时的10,30分钟,分别执行一次命令脚本,共执行2次)
    加载任务,使之生效:crontab /etc/crontab
    查看任务:crontab -l
    $ crontab -u 用户名 -l (列出用户的定时任务列表)

    42、查看系统相信信息配置文件
    cat   /etc/os-release

    43、tab键自动补全命令
    安装完成后默认是不提供tab自动补全命令的,只能补全当前目录下的文件,需要安装额外的工具包
    yum install bash-completion

    44、xargs命令
    xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。
    将上一个命令的输出作为下一个命令的参数
    docker    ps -a -q  | xargs  docker rm 

    45、curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具
    curl    ip:port     可以测试http下载

    46、whereis命令
    特定目录中查找符合条件的文件,搜索命令查看命令以及命令的配置文件的时候用的
    -b  只查找二进制文件
    -m  只查找说明文件。
    -M<目录>  只在设置的目录下查找说明文件。
    -s  只查找原始代码文件。
    -S<目录>  只在设置的目录下查找原始代码文件。
    -u  查找不包含指定类型的文件。

    相关文章

      网友评论

          本文标题:一、命令杂项

          本文链接:https://www.haomeiwen.com/subject/oibkvhtx.html