zoukankan      html  css  js  c++  java
  • linux常用命令

    1.man 命令  或  help 命令

    查看命令帮助

    man(manual)依赖于文档文件,更详细,help是程序内置帮助命令。

    2.reboot  重启

       shutdown -r now 重启

       poweroff或halt  关机

     shutdown -h now  关机

    3.pwd 显示当前目录地址

    print working directory

    4.cd 改变目录位置  change directory

    cd - 上一次所在的目录

    cd或cd ~  转到home目录(和根目录是不同的,普通用户为/home/用户名,root用户为/root)

    cd . 当前目录(用法:cd ./src 转到当前目录下的src文件夹,也可以直接用cd src,如果要去根目录下的src,cd /src)

    cd .. 上一级目录

    cd ../.. 上两级目录

    cd / 根目录

    5.tree 路径

    以树形结构显示指定目录(需要安装tree工具包)

    tree -L 1 / 显示根目录下一层目录的树型结构(L必须大写Level)

    -d 只显示目录(文件夹directory)

    6.ls 显示目录下的内容 list

     -l 显示详细信息(long)

    -a 显示所有文件(all)

    -A 显示大部分文件(不包过.和..)(Almost-all)

    -d 只列出当前目录,可以和l结合使用

    ll  两个ll是显示所有未隐藏文件的详细信息。

    -i 显示inode节点  -h 人类可读  -F 不同文件结尾加不同标识  --time-style 修改时间格式

    -r 反转排序  -t 按修改时间排序

    7.mkdir 创建目录 make directory

    mkdir /my  在根目录下创建my文件夹

    mkdir a b c d  在当前目录下同时创建4个目录a b c d

    -p 创建父目录,例:mkdir /my/test 会报错,因为不存在my目录,而mydir -p /my/test 就能都创建出来。

    8.touch 创建文件

    touch 1.txt  在当前目录下创建文件1.txt

    touch a b c d  在当前目录下同时创建4个文件a b c d

    注:Linux中一切皆文件,所以同一目录下的目录和文件名不能重复。

    touch {1..10}.txt  创建1.txt、2.txt、... 10.txt 共10个文件

    9.cp 复制  copy

    cp  文件名  指定目录

    cp  -r  目录名  指定目录   (复制目录的话要加参数-r  recursive递归,会将目录下的内容全部复制)

    -p  保持文件属性(如文件大小、创建时间、权限、所有者等)

    -d  如果复制的是符号链接(快捷方式),仅复制符号链接本身,并保留符号链接所指向的源文件

    -a  等同于-pdr 

    在当前目录下做备份:

    10.alias  别名

    别名的意思就是默认执行,例如当我们执行cp命令不加参数时,实际执行的是cp -i,意思是当有重复名称的文件时,系统会提示确认是否覆盖原文件,如果有很多的话,每一条我们都要行进确认操作,就很麻烦

    在命令前面加一个反斜杠,执行的就是命令本身,而不是别名。(还有一种方法是使用命令的全路径,如/bin/cp)

    11.rm 删除 remove

    -f 强制删除(force)

    -r 递归删除,删除目录和文件(recursive)

    如何防止rm误删数据?

    1.放弃使用rm,用mv或find替代

    2.不删除,只是移动到回收站(/tmp)

    3.一定要删,先备份

    4.不要使用rm 目录路径 这种方式,先进入目录地址,在进行删除当前目录下的文件。

    5.为rm设置别名,提醒自己和组员。

    12.unalias 取消别名

    alias cd=‘cd /’  设置别名

    unalias cd   取消别名

    13.mv 移动 move

    相当于剪切

    mv -t  路径1  路径2  正常是将1移动到2里面,加上-t是将2移动到1里面

    注:mv  /backup/  /tmp会将backup本身也移动走,如果只想移动子文件:mv  /backup/*  /tmp

    14.echo 输出和打印

    -n 不换行输出

    -e 识别转义字符

    printf 格式化打印,例:printf "你 好"

    15.查看运行级别

    runlevel  或者  who -r

    16.init 切换运行级别

    init 数字

    CentOS6  0 关机  1 单用户模式  2 多用户模式  3 命令行模式  4 未使用  5 图形化模式  6 重启

    CentOS7  0 poweroff  1 rescue  2/3/4 multi-user  5 graphical  6 reboot

    17.显示文件内容

    more/less 分页显示文件内容

    head 显示文件内容头部,默认10行  -n 可指定显示行数(从第一行开始记)

    tail 显示文件内容尾部,默认10行 -n 可指定显示行数(从最后一行向上记)

    tac 行垂直翻转显示内容(从最后一行开始显示)

    rev 行水平翻转显示内容(如abcd 显示为 dcba)

    18.tr 替换或删除字符

    tr "更换后的字符" "要更换的字符" < 文件名

    [root@pm.com ~/test]# cat 1.txt
    abcdefg
    [root@pm.com ~/test]# tr "a" "1" < 1.txt
    1bcdefg
    [root@pm.com ~/test]# tr "a-g" "1-5" < 1.txt
    1234555
    19.which 显示命令完整路径

    变量PATH(存放所有命令的路径,以分号隔开,按前后顺序查找,找到即停止):

    20.whereis 显示命令及其源码、说明文档的完整路径

    21.find 查找目录下的文件

    查找原理:磁盘遍历,速度慢。

    语法格式:find path -option [-exec]

    path:查找的路径

    -option:查找的选项类型

      -name 按名称查找,例:find / -name "he*.txt"    注意,多文件查找要用单引号' '

      -type 按类型查找,例:find / -type d

      -mtime 按修改时间查找,例:find / -mtime 3  注:-3代表距现在3天以内,3代表距现在第3天,+3代表距现在3天以前

      -atime 按文件访问时间查找

      -ctime 按文件创建时间查找

      -user 按文件属主查找,例:find / -user ‘root’

      -group 按文件属组查找,例:find / -user ‘root’

      -follow 如果遇到符号链接文件,就跟踪到链接所指的文件

      -size 按文件大小查找,例:find / -size +1M 查找大于1M的文件

    可以使用*进行模糊查找,如查找hello.txt文件:find / -name "he*.txt"

      -exec 对查找的结果再处理,格式为-exec command {} ;,例:

    注:{}代表前面查找的内容,分号是结束标志,转义字符(可能分号在别的地方代表某个含义,;就是让其回归本质,就只是分号)

    22.xargs 从标准输入执行命令

    xargs命令是给其他命令传递参数的一个过滤器。

    它能够将标准输入或管道中的数据转换为特定命令的命令行参数。

    也可以将单行或多行文本输入转换为其他格式的数据,比如单行变多行或者多行变单行。

    xargs的默认命令是echo,默认分隔符是空格或换行。

    -n 后面加数字,指定几列显示。

    -d 后面加字符串,指定列之间的分隔符。

    -i 当标准输入不是作为xargs命令的最后一项使用时,使用参数-i,即用{}代表前面传递过来的数据

    -I 可自定义符号,如 xargs -I [] cp [] ~/test  默认-i使用的是{},即xargs -i cp {} ~/test

    23.date 显示系统时间

    date -s "2020/01/01 00:00:00" 修改时间

    24.tar 打包压缩

    -z 用Gzip压缩或解压  -c 创建压缩文件  -v 输出打包内容(过程)  -x 解压  -C 解压的目录  

    -h 跟随软链接(打包时对软链接的本体进行打包,而不是打包链接)  -P 使用绝对路径(默认相对路径)

    --exclude 排除不打包的文件  -X 根据文件内容排除  -t 查看压缩包内容

    -f 备份的文件名(一般f放在所有参赛最后面,因为有的参赛放在f后面会报错)

    注:后面可跟多个目录,共同打包

    查看打包内容: tar -tf test.tar.gz

    解压文件包:tar -xf test.tar.gz -C /test

    25.stat 查看文件属性

    26.ln 创建链接文件

    硬链接:ln 源文件 链接文件

    软链接:ln -s 源文件 链接文件

    27.cut 取列

    -d 指定分隔符  -f 指定第几列(1,2,3或1-3)

    注:输出内容之间包含分隔符。

    -c 按字符取列,如cut -c1-5,10-15 test.txt  即取每一行的第1到第5个字符以及第10到第15个字符

    28.install 复制文件并设置属性

    -m 设置目标文件权限,不设置的话默认为755

    -o 设置目标文件属主  -g 设置目标文件属组

    -d 如果只设置路径,则为创建空目录

    可同时复制多个文件:

     29.dd 创建虚拟系统文件

    30.mount 挂载

    -t 指定文件系统类型  -a 将/etc/fstab中的信息立即挂载  -o ??

    卸载:umount /mnt   ===> -lf 允许强制卸载

    31.blkid 查看块设备属性

    32.检查磁盘并修复

    fsck 检查修复ext文件系统  xfs_repair 检查修复xfs文件系统

    1.不能对好的磁盘操作,会删除数据

    2.使用前先卸载挂载点

    33.dumpe2fs 查看ext文件系统细节

    dumpe2fs  /dev/sdb1

    34.mkfs 格式化分区并创建文件系统

    -t 指定文件系统类型  -b 指定block数量  -I 指定inode数量

    mkfs -t ext4 -b 4096 -I 512 /dev/sdb1    #centos7中支持的单个block最大容量为4k

    35.diff 文本比较

    或者:

    36.rpm 包管理器(基本不用)

    rpm -i 包名  安装install

    -v 显示安装过程   -h 用#显示安装进度条   -U 升级软件包   -e 卸载软件包   --nodeps 忽略依赖

    -q 查询   -a 所有   -l 显示软件包中的所有文件列表   -f 查询文件或命令属于哪个软件包

    37.yum 软件包管理器(Yellowdog Updater Modified 解决rpm包之间的依赖关系)

    yum [option(选项)] [command(指令)] [package(软件包)]

    yum install 包名  安装软件包

    yum list  获取所有包列表  yum list installed  获取已安装的包列表   (这两个后面可加包名单独查询)

    yum list updated 列出所有可更新的软件包

    yum update 更新所有软件包及系统内核  yum upgrade 只升级所有软件包

    yum search 包名一部分    模糊查询

    yum groupinstall 组包名    安装组包

    yum grouplist  获取所有已安装的组包列表

    yum remove 包名   移除包和关联包(禁止使用)

    yum repolist   列出启用的yum源

    yum provides 命令名  查命令的二进制文件路径

    yum deplist 命令名  显示软件包的依赖信息

    不记得安装包名的话,可以通过yum list | grep *查询,*那里使用正则模糊查询

    38.crontab 定时任务

    命令对应的服务:crond.service

    crontab -e  进入vim编辑模式  crontab -l  显示所有定时任务列表  crontab -r  删除所有定时任务

    crontab -i 执行命令前进行确认操作  crontab -u 用户名   对指定用户的定时任务进行编辑(只能root对普通用户)

    例:在11月每天6-18点,每3小时执行并在13点单独执行脚本/opt/test.sh

    00 06-18/3,13 * 11 * /bin/bash /opt/test.sh &>/dev/null

    注:/dev/null是linux中的 ‘无底洞’ ,也就是脚本返回的信息直接丢弃。

    39.ps 查看进程瞬时状态(process status)

    -A 列出所有进程(同-e)  -a 显示终端机下所有进程(包含其他用户的进程)  -f 全格式

    -l 长格式  -u 查看特定用户的进程,如ps -u root 不写的话代表当前用户  -x显示没有控制终端的进程

    F flag 进程的标志,4代表使用者为超级用户

    S 代表程序的状态,S静止状态 R运行状态

    UID 代表执行者身份

    PID 进程的ID号

    PPID 父进程的ID号

    C cpu使用的资源百分比

    PRI 进程执行的优先权(priority),值越小越早执行。

    NI nice值,表示进程可被执行的优先级的修正数值。

    ADDR

    40.history 查看命令行历史记录

    -c 清空历史记录  -d 后面跟一个number,清空历史记录指定行

    环境变量HISTSIZE设置历史记录的条数,HISTFILESIZE设置~/.bash_history文件中的历史记录条数

    echo 'export HISTSIZE=10' >> /etc/profile    echo 'export HISTFILESIZE=10' >> /etc/profile

    41.netstat 显示网络状态

    -a 显示所有选项,默认不显示LISTEN相关  -t 仅显示tcp相关选项  -u 仅显示udp相关选项

    -n 拒绝显示别名,能显示数字的全部转化成数字  -l 仅列出有在Listen(监听)的服务状态

    -p 显示建立相关链接的程序名  -r 显示路由信息,路由表  -e 显示扩展信息,如uid等

    42.lsof 列出打开的文件list open files

    lsof  filename 显示打开指定文件的所有进程  lsof -a 表示两个参数都必须满足时才显示结果

    lsof -c string   显示COMMAND列中包含指定字符的进程所有打开的文件

    lsof -u username  显示所属user进程打开的文件  lsof -g gid 显示归属gid的进程情况

    lsof +d /DIR/ 显示目录下被进程打开的文件  lsof +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长

    lsof -d FD 显示指定文件描述符的进程  lsof -n 不将IP转换为hostname,缺省是不加上-n参数

    lsof -i 用以显示符合条件的进程情况

    lsof -i [46] [protocol][@hostname|hostaddr][:service|port]  注:中括号代表可选参数

                46 --> IPv4 or IPv6

                protocol --> TCP or UDP

                hostname --> Internet host name

                hostaddr --> IPv4地址

                service --> /etc/service中的 service name (可以不只一个)

                port --> 端口号 (可以不只一个)

    43.md5sum md5验证

    利用md5值验证文件是否发生改变,只有当文件内容发生变化时,md5才会发生变化

    注:图中的  yanzheng.md5  内可放多个验证文件,可使用>>追加,验证时逐行验证。

    44.package-cleanup 软件包清理

    注:使用此命令需先 yum install yum-utils

    --leaves  列出与其他RPM没有依赖关系的软件包

    --orphans  列出当前软件仓库中不再提供支持的本地已安装的软件包,等同于 yum list extras

    --problems  列出有依赖问题的软件包

    --depus  扫描重复安装的RPM软件包

    --cleandupes  扫描重复安装的软件包,并删除老版本的软件包

  • 相关阅读:
    SpringBoot中使用Spring Data Jpa 实现简单的动态查询的两种方法
    Spring data jpa 使用技巧记录
    Hibernate 关于实体映射常用注解
    Mysql数据库实用语句集
    免配置环境变量使用Tomcat+设置项目主页路径为http://localhost:8080+修改tomcat端口号
    Springboot+shiro配置笔记+错误小结
    python阳历转农历
    Aria2+WebUI+caddy搭建私有网盘
    java运算符优先级
    IntelliJ IDEA 快捷键
  • 原文地址:https://www.cnblogs.com/1016391912pm/p/12834157.html
Copyright © 2011-2022 走看看