zoukankan      html  css  js  c++  java
  • liunx常用知识基本命令大全

    liunx基础命令使用


    临时生效成中文

    LANG=zh_CN.UTF8
    

    永久生效中文

    vim /etc/locale.conf
    #LANG="en_US.UTF-8"        #修改为LANG=zh_CN.UTF8
    

    网络配置

    IPADDRIP地址 NETMASK子网掩码 GATEWAY网关  DNS1  DNS2

    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    TYPE=Ethernet
    ONBOOT=yes
    NM_CONTROLLED=yes
    BOOTPROTO=none
    IPADDR=192.168.30.200
    NETMASK=255.255.255.0
    GATEWAY=192.168.30.2
    DNS1=211.100.225.34
    DNS2=114.114.114.114
    
    uptime 查看容器或者物理机运行多长时间
    echo $PATH ——查看环境变量,命令都从哪些路径目录里找
    ip link ——查看网卡信息    ifconfig ——查看Linux网络网卡信息
    ifconfig eth0 up ——启动网卡物理设备    ifup eth0 ——开启网卡    ifdown eth0 ——关闭网卡
    
    #Centos6.X修改主机名字
    /etc/sysconfig/network   /etc/hosts
    
    #Centos7.X
    hostnamectl set-hostname --static hostname      #--static支持大写,不加参数只支持小写
    

    常用基本命令

    备注:路径都需要用绝对路径

    seq 100 >> test ——可以直接重定向到文件里    df -h ——看磁盘挂载磁盘容量情况
    
    stat 文件名 ——查看文件的所有时间    reboot ——重启服务器       whoami ——查看当前用户   
    
    w ——查询登陆到主机的用户信息	echo $? ——检查上一条命令是否成功    history ——查看历史命令记录 -c 清空
    
    which ——查找命令安装路径和有没有此命令    pwd ——查看当前位置路径    cd .. ——返回上级目录
    
    cd 目录 ——进入下级目录    cd ~ ——直接回到用户家目录    mv ——移动(源)到(目标)
    
    cp -r ——全部复制(源位置)到(目标位置)    cp -p 文件目录名 ——复制文件和目录,文件属性和时间等不变
    
    touch ——创建文件    mkdir ——创建目录    { . . } ——表示序列,可以用的方式创建文件和目录{1..9}
    
    mkdir -p ——连续创建目录    rm -f ——强制删除文件    rm -r ——删除目录    rm -rf ——强制删除目录文件
    
    echo " " > ——输出重定向,清除原文件内容,把内容追加到文件的末尾    ">>" ———追加重定向,追加内容到文件的尾部    "1>>" ——正确追加重定向
    
    "2>>" ——错误追加重定向    "&>>" ——正确错误都追加重定向    type 命令 ——查看属于内部命令还是外部命令
    help ——查看命令的帮助    alias 命令=命令 ——别名,修改替代改名命令 
    

    grep过滤命令参数

    grep -c ——过滤的时候计数    grep -v ——过滤的时候取反    grep -n "条件" ——加行号    grep -w "条件" ——精确匹配
    
    grep -l "条件" ——显示匹配到内容的文件的名字    grep -c "^$" 文件名 | wc -l ——过滤一个文件有多少空行
    
    Xargs ——默认将管道符传递过来的字符串转换为文件名
    

    在liunx中正常看一个文件是竖列显示,如果想在终端上显示为横向可以这样操作

    cat 文件名 |tr " " " "

    cat 文件名 |tr " " "|"(替换换行符后可以随意替换其他字符来代替也可以使用空格)

    ls所有参数和各种看

    ls——查看当前位置里的所有文件	ll ——以列表形式查看详细信息    ls -t ——按时间显示文件和目录
    
    ls -a ——查看隐藏文件和目录    ll -d ——显示目录本身的属性	du -sh 文件名 ——查看文件的大小
    
    stat ——看一下文件的详细信息	cat ——查看文件全部内容	tac ——倒着看  nl ——行号横着看
    
    more —— 一页一页的看	less ——一页一页的看,可以上下移动	  tail -f 文件名 ——动态查看文件信息,实时监测
    
    head ——默认只看文件前十行!例如:head -20 看前20行文件内容	tail ——默认只看文件后十行!例如:tail -30 看后30行文件内容
    

    find参数搭配

    -type d ——代表目录    -type f ——代表文件
    find 配合 -size 按大小查找文件或者目录
    find 配合 mtime 按时间查找文件和目录
    

    文件目录精确查找

    find 路径 -name "文件名字" ——精确查找某个文件
    find 路径 -type f -name "文件名字" ——精确查找某个文件    例如:find . -type f -name "yunjisuan.txt"`**
    

    模糊查找某些文件

    find .-type f -name "bent*"
    

    精确删除一个文件

    find 路径 -type f -name "文件名" | xargs rm -rf    例如:find . -type f -name "yunjisuan.txt" | xargs rm -f
    

    批量删除一堆文件

    find 路径 -type f -name "*"| xargs rm -rf    例如:find . -type f -name "*" | xargs rm -rf
    

    批量清空一堆文件里的内容

    for i in `find 路径 -name "*.log"`; do echo >$i; done
    
    用echo >执行的清理文件并非完全为空的,而是有4K大小,用cat /dev/null >清理的文件内容大小完全为0
    
    for i in `find 路径 -name "*.log"`; do cat /dev/null >$i; done
    

    精确移动某一个文件目录:

    find  -type  f  -name "文件名" | xargs  -i mv {} 移动的路径    例如:find -type f -name "bent.txt" | xargs -i mv {} /root/
    
    find  -type  f  -name "文件名"  -exec  mv {} 移动的路径 ;    例如:find -type f -name "bent.txt" -exec mv {} /root ;
    

    文件内保留一个其他全部删除

    !和 -v 取反保留的意思

    find 路径 !  -name "文件名"  -type  f  | xargs rm - rf
     
    例如:find . ! -name "bent.txt" -type f | xargs rm -rf
    例如:grep -v "bent.txt" | xargs rm -f
    

    tar打包解压

    gzip 文件名 压缩 -- gzip -d 文件名 解压缩

    bzip2 文件名 压缩 -- bzip2 -d 文件名 解压缩

    打包 tar jcvftar zcvf (v可加可不加代表过程)

    z 代表调用gzip  j 代表调用bzip2

    打包:打包以后的路径包名 源包名路径

    例如:tar jcf /root/fang.tar.gz fang
    

    打包排出某个文件不打

    tar jcf 路径包名.tar.gz 源包名字 --exclude=排出的文件名字    例如:tar jcf /root/fang.tar.gz fang --exclude=/fang/yunjisuan.txt
    

    解包:tar xvf 包名 例如:tar xf fang.tar.gz直接解压到当前目录

    指定目录解包:tar xf 包名 -C 解包路径 例如:tar xf fang.tar.gz -C /root/bent

    vim用法

    vim 三种模式 1.末行模式 2.正常模式 3.输入模式  正常模式只能正常上下移动

    i ——进入输入模式    esc ——进去正常模式    :末行模式  q ——保持  w ——保存  wq ——保存退出  q! ——强退不保存
    
    G ——跳到末行  gg ——回到第一行  参数+gg ——到指定行  a ——光标后面插入字符  i  ——光标前面插入字符
    
    I ——立刻调到行首  A ——立刻调到行尾    o ——另起下一行输入    O ——另起上一行输入
    
    dd ——删除当前行  参数+dd ——剪切  p ——移动到末尾粘贴    参数+yy ——复制
    
    h ——向前    j ——向下    k ——向上    l ——向后  Ctal c ——回到正常模式    shift zz ——保存并退出
    
    光标移动到某个字符 r 不用进入出入模式直接改某个字符
    

    rmp参数

    /media/cdrom ——挂载光盘默认路径    /dev/sr0 ——光盘的默认路径
    
    mount /dev/sr0 /media/cdrom ——挂载光盘唯一路径    umount /dev.sr0 ——卸载挂的光盘
    
    rpm -q 软件包名字 ——精确查找某个软件包的名字是否已经安装了    rpm -qa ——查看系统中所有已安装的rpm软件包
    
    rpm -qa | grep 包名 ——模糊查找某一个软件包    rpm -qf 命令路径 ——查看命令所属的软件包的名字
    
    rpm -ivh rpm 软件包的路径 ——软件包安装    rpm -e 软件包名字 ——卸载软件包 
    
    rpm -e 包名 --nodeps ——强制卸载软件包
    

    yum仓库安装搭建和安装

    /etc/yum.repos.d/ ——yum仓库的路径位置

    yum -y clean all ——清空就yum缓存    yum makecache ——生成新yum缓存
    
    yum -y  install 软件包名     yum安装软件包
    
    yum hsisory list            查看yum安装历史纪录 
    
    yum -y history undo 序号    进行回滚安装操作回退
    
    yum -y remove 软件包名      yum卸载软件包
    

    增删用户和权限

    超级用户root含有一个组也叫root

    用户账号路径有两个/etc/passwd  /etc/shadow

    cat /etc/passwd
    root:        x:        0:  0:      root:      /root:       /bin/bash
    账户名    密码占位符     UID:GID      空备注     家目录路径    是否可登陆系统
    
    #/bin/bash可登陆操作系统  /sbin/nologin 不能登陆操作系统
    
    cat /etc/shadow
    root:$6$VwcbTSr3XgtUuAgN$YNh3W5KIQdjomr0IUbH0OAf/Lnh/55/sWLAFCrHRL/3VHqquk5Zwg3O5Z.Kwot2RL9AZJXqS24muL0hVBV5sG.:17822:0:99999:7:::
    账户名:密码暗文:上次修改密码已过多少天:0表示随时可以修改密码:密码永久有效
    
    
    chsh 用户名 改成/sbin/nologin    ——修改登录账号权限
    

    -M 不为用户建立家目录  -s 指定用户的登陆shell  -e 指定账号失效时间 

    创建用户          useradd 名字
    创建用户密码      passwd 用户名
    删除用户          userdel -r 用户名
    passwd -l 用户名 ——锁定密码(!!)    -U ——解锁用户账号
    

    免交互一条命令创建账户密码

    [root@ /root/master] #useradd chen
    
    [root@ /root/master] #echo "123456" |passwd --stdin chen
    Changing password for user chen.
    passwd: all authentication tokens updated successfully.
    
    [root@ /root/master] #su - chen
    Last failed login: Wed Jul 28 13:09:55 CST 2021 from 10.170.25.9 on ssh:notty
    There were 8 failed login attempts since the last successful login.
    [chen@ ~]$ 
    
    

    用户组 /etc/group /etc/gshadow

    id 账号名 ——看这个账号有没有和基本信息 finger 账号名 ——看这个账号的详细信息 stat -c %A 文件名 查看权限

    #第一位表示文件类型
    -:表示一般文件	  d:表示目录	  l:表示软连接	  c:表示设备字符设备文件		b:表示块设备文件
    


    例如:-rw-r--r-- 表示的是一个权限为644的文件。 例如:rwxr-xr-x 表示的是一个权限为755的目录。

    chmod 改文件的权限  chown 修改属主  

    liunx规定目录最高权限是777,文件最高权限是666

    目录和文件的权限受umask影响,所以创建目录和文件的最高权限就是666-umask777-umask  umask权限掩码默认0022

    硬盘分区详解

    硬盘每个扇区可存放512字节 MBR一个扇区前446字节叫做mbr引导区,64字节是分区表, 后2字节是校验码。

    磁盘路径 /dev/sda1(a表示第几个块硬盘)(1表示第几个分区)逻辑分区从5开始

    fdisk -l ——查看磁盘情况
    fdisk ——磁盘分区只能分2T以下的硬盘    fdisk 磁盘路径 ——磁盘分区
    
    p打印磁盘分区表    m帮助    n创建一个磁盘分区    p分主分区    e分扩展分区从4开始    l虚拟分区从5开始    d删除一个分区
    
    q不保存分区直接退出    w保存磁盘分区退出    t改分区名字    L看分区名字    partx如果分区没出来刷新一下
    

    blkid ——查看硬盘是否有UUID号 mkfs. ext4 /磁盘路径 ——格式化 parted无论多大都可以直接分区 quit退出不用保存

    lvm逻辑卷

    pvcreate 将磁盘那些盘创建pe化 例:pvcreate /dev/sd[bcd]那些盘 pvs查看 pe化
    vgcreate -s 多大 vg0 /dev/sd[bcd]路径 将pe化的盘组成卷组 vgs 查看卷组
    lvcreate -L 多大 -n 名字 从哪割的卷组名字 将卷组割出一部分组成LVM lvs 查看lvm
    lvextend -L +多大 lvm盘路径 在线扩容磁盘容量
    resize2fs 探测扩容磁盘没有格式化的自动格式化
    /etc/rc.local个人配置脚本自动开机执行

    raid详解

    【raid 0】拥有极高的读写效率,几块盘组合近似几倍的读写速度,数据非常不安全,某一块盘出现问题,所有硬盘的数据全都用了

    【raid 1】 非常安全,自动备份,可修复,成本高,多少块盘容量不变,读写速度都不变,最少2块

    【raid 5】 安全性和性能兼顾的raid组合,突出性价比,近似n-1倍的读写速度,可用容量近似n-1 最少3块

    【raid 10】 突出安全性,近似支持坏一半数量的硬盘,可容量只用一半,只能有偶数盘来组合,最少4块,偏贵

    有硬raid和软raid区分,硬raid一般是在企业工作中服务器上做

    #软raid 组成步骤
    mdadm -Cv /dev/md5 -l5 -n3 -x1 /dev/sd[那几块盘]
    mdadm -D /dev/md5 或 cat/proc/mdstat 查看同步率
    mkfs.ext4 /dev/md5
    
    mdadm /dev/md5 -r /dev/sdb  (-a插盘)取盘命令
    

    程序服务启动项

    Linux七种启动级别:

    0.关机模式
    1.单用户模式
    2.没有NFS文件系统的多用户模式
    3.命令行模式
    4.保留模式
    5.桌面模式
    6.重启模式

    开机十项启动项:

    ① 开机自检(BIOS)主板启动
    ② MBR(硬盘)引导
    ③ 操作系统(GRUB)菜单
    ④ 加载内核(Kernel)|启动操作系统核心
    ⑤ init进程初始化 | 执行kernel的任务 (init是主进程)
    ⑥ 读取/etc/inittab 配置文件(开机以哪个模式启动)
    ⑦ 执行/etc/rc.d/rc.sysinit 初始化脚本
    ⑧ 执行/etc/rc.d/ 脚本 通脚本过这个文件以大S来判定是否开机自启动
    ⑨ 执行/etc/rc.d/rc.local 个人配置脚本
    ⑩ 启动 mingetty 进程

    runlenel ——查看当前系统的启动级别    init ——快速切换启动级别
    

    /dev/null 黑洞文件,什么文件到这个文件里都会消失
    /dev/zero 无线数据流 无论取多大数据都可以取出来,取出来只有大小,没有任何内容

    来测试磁盘的读写速度

    dd if=/dev/zero 0f=路径 bs=多大 count=几次**
    #  从那取数据   放到哪里 取多少 取几次
    

    Centos6.X查看服务命令及参数,Centos7.X取消此命令改为systemctl

    chkconfig --list ——指定某一个服务名,单一看
    
    chkconfig 服务名 ——默认执行2,3,4,5,模式,开机自启动和关闭
    
    chkconfig --level 模式 服务名 (on 开)(0ff 关)——指定一个模式自启动和关闭 
    
    service 服务名 status ——查看状态    stop ——关闭    start ——开启 
    
    /etc/init.d/ 服务名 stop ——关闭  start ——开启
    

    进程服务和终止进程

    sshd这个进程主要是负责远程连接服务的进程 socket进程是24小时不间断监听某个固定端口的进程

    ps aux ——查看所有进程的内存和cpu    ps -u ——单一查看某个进程服务
    
    ps -ef | grep 服务名 ——过滤某个进程在没在启动状态    pgrep 服务名 -l ——查看某个服务的pid
    

    命令运行 & 进程开启直接在后台运行

    ctri z切换后台  fg 1切回前台 jobs查看所有后台

    #查看僵尸进程
    ps aux | head -1
    
    top看右上角
    
    ps -aux | grep “^Zz$”| wc -l
    

    netstat 等于 ss

    netstat -antup 查看发访问服务器和进程    netstat -antup|grep 服务 ——查看单个进程
    
    netstat -an | grep ESTAB | wc -l(端口号) ——查看有几个并发的进程连接处 
    

    3种查看路由器

    route -n netstat -rn ip route

    杀进程:

    kill PID号  #需要根据PID号杀进程 -9 强杀
    
    killall    #需要根据服务名杀,因为还会子进程全部杀死 -9强杀
    
    pkill -9   #根据服务器名杀,不杀子进程后代,它能踢人还能根据终端名杀
    

    定时任务介绍

    定时任务服务名:crond 必须开启这个服务 定时任务的配置文件路径/etc/crontab/

    #设置当前系统全部时间
    date -s "01:01:01 20180826"
    
    /var/spool/cron/             #定时任务存放文件的目录
    tail -f /var/log/cron        #定时任务日志存放目录
    

    定时任务以根为起始HOME=/ 定时任务默认为/bin/bash,定时任务的环境变量和bash的环境变量作用范围不同。

    如果定时任务有信息输出默认给root发邮件MAILTO=root 输出默认发送邮件到/var/spool/mail/这个目录

    如果系统postfix被关闭邮件发送失败,就会在此目录下生成琐碎小文件件/var/spool/postfix/maildrod/

    定时任务书写格式:

    定时任务里的命令必须用绝对路径,定时任务如果产生输出要重定向到 &>/dev/null 垃圾箱

    *(分0-59)* (时0-23)* (日1-31)* (月1-12) *(周0-6)

    crontab -e       #进入定时编辑模式
    
    crontab -l       #查看当前系统的定时任务
    
    crontab -u       #用户名 -l 查看指定某个用户定时任务
    
    crontab -r       #删除定时任务
    

    sudo的用法和i锁

    lsattr 查看是否有i锁或者a锁

    chattr +i 文件名      #加i锁后只有只读权限 
    chattr +a 文件名      #加a锁后普通用户不能vim写内容,只能追加
    chattr -a 文件名      #-i 解除i锁和a锁
    

    su安全日志文件路径/var/log/secure

    su - 账户名 ————#切换用户账号        su - 用户名字 -c ————#临时切换一次 `
    
    visudo       #打开sudo的配置文件   #sudo代表授权
    

    sudo的配置文件里这一行,第一个ALL=代表IP地址 第二个ALL带表所有命令进行免密登陆加上PASWWD=ALL

    sudo的配置文件里命令要求绝对路径来表示 (,表示隔离)(!表示取反不让)

    indoe号block存储

    ll -i ————#可以看文件的inode的号      df -i ————#看inode的容量    df -h ————#看block容量
    

    文件格式化就是为了生成inodeblockinode是为了来存存蓄这些数据的属性信息为了区分,一般占256字节

    block是为了存蓄文件的内容 ,一般一个字节4K

    软硬连接

    硬链接组成 inode号是一个,删除一个都没影响,不能硬连接目录 ln 原文件 硬链接名

    软连接组成有自己的inode号,删除源链接软连接无法使用,目录只能做软连接不能做硬连接 ln -s 源文件 软连接名

    awk的切割使用

    用awk取出文件内容里所记录的名字和每个名字下面的总数是多少

    # cat all.txt
    [100] 15:06:03 [SUCCESS] 405b.cloud
     Id    Name                           State
    ----------------------------------------------------
     1    i-nd105asdfjkhsfowefwefwfe run
     2    i-nd105asdfjkhsfowefwefwfe run
     3    i-nd105asdfjkhsfowefwefwfe run
     4    i-nd105asdfjkhsfowefwefwfe run
     5    i-nd105asdfjkhsfowefwefwfe run
     6    i-nd105asdfjkhsfowefwefwfe run
     7    i-nd105asdfjkhsfowefwefwfe run
    
    [100] 15:06:03 [SUCCESS] 405b0.cloud
     Id    Name                           State
    ----------------------------------------------------
     1    i-nd105asdfjkhsfowefwefwfe run
     2    i-nd105asdfjkhsfowefwefwfe run
    
    [100] 15:06:05 [SUCCESS] 405b.cloud
     Id    Name                           State
    ----------------------------------------------------
     1    i-nd105asdfjkhsfowefwefwfe run
     2    i-nd105asdfjkhsfowefwefwfe run
     3    i-nd105asdfjkhsfowefwefwfe run
     4    i-nd105asdfjkhsfowefwefwfe run
     5    i-nd105asdfjkhsfowefwefwfe run
     6    i-nd105asdfjkhsfowefwefwfe run
     7    i-nd105asdfjkhsfowefwefwfe run
     4    i-nd105asdfjkhsfowefwefwfe run
     5    i-nd105asdfjkhsfowefwefwfe run
     6    i-nd105asdfjkhsfowefwefwfe run
     7    i-nd105asdfjkhsfowefwefwfe run
    
    # awk '/SUCCESS/{b=$0;a[b]}/run/{a[b]++}END{for(i in a)print i,a[i]}' all.txt
    [100] 15:06:03 [SUCCESS] 405b.cloud  7 
    [100] 15:06:03 [SUCCESS] 405b.cloud  2
    [100] 15:06:05 [SUCCESS] 405b.cloud  11
    
    # awk -F '[ :]+' '{print $4,$NF}' all.txt
    405b.cloud  7 
    405b.cloud  2
    405b.cloud  11
    
  • 相关阅读:
    SharePoint 2010 Crawl Component Stuck in “Recovering” status
    什么是Named Pipes
    请不要修改FIM的配置, 否则SharePoint的User Profile无法获得微软支持
    经典的SharePoint 2010升级中的多核CPU冲突问题
    怎样才能比较方便地查看PowerShell里返回回来的对象的每个成员及它们的值呢?
    如何打开证书控制台
    浏览器: F5 和 Ctrl+F5的区别
    关于用户角色权限管理的探讨
    支付宝接口源代码
    海量数据处理
  • 原文地址:https://www.cnblogs.com/cfy930721/p/12792911.html
Copyright © 2011-2022 走看看