Linux命令整理


    sda hda 表示整块硬盘
    sda:sata(家用),scsi(服务器),sas(服务器)
    sda表示第一块硬盘,sda1表示第一个分区 sda2表示第二个分区
    sdb表示第二块硬盘
    hda:ide(老版硬盘)

    挂载:把分区挂载到目录下的过程
    挂载点:挂载的目录
    需要挂载的分区:挂载设备

    第一个挂载点/boot type:ext4  size:100mb
    第二个挂载点/             type:ext4  size:18000mb(必须有此分区)
    第三个挂载点(交换分区、虚拟内存)                type:swap  size(物理内存的两倍): 1000mb(必须有此分区)

    终端命令
    ........................................................................................
    who 命令:判断谁在系统上及其登录方式  tty1,tty2分别指第一台虚拟控制台和第二台虚拟控制台; pts/0指
                在X服务器中打开的第一个终端
    ctrl+alt+F1 到ctrl+alt+F6 可以访问6台虚拟控制台  ctrl+alt+F7 回到图形界面
    ssh 用户名@目标服务器地址 可以登录远程服务器操作机器
    alt+F2 打开运行应用程序   输入 gnome-terminal  打开终端
    ctrl+shift+n 打开一个新的终端
    ctrl+shift+t 打开一个新的标签  alt+1 alt+2 ...可以在标签中进行切换
    ctrl+shitf+w 关闭标签
    ctrl+shitf+q 关闭窗口
    alt+F4 关闭窗口
    shell 命令解释器  把键入的命令解释给内核 
    cd change directory 更改路径
    man 命令名 可以看到命令的全拼
    alt+. 列出之前执行过命令最后一部分
    pwd 打印工作目录
    cd - 切换到上一次去过的目录

    ls -l  以常格式列出我们的文件 ll是ls -s 的别名
    列表格式说明
    文件类型|权限 硬链接的个数(一个文件有两个名字)  文件所有者  文件所属组  大小(字节) 时间(modify时间) 文件名
    drwxr-xr-x    3                          root      root      22     修改时间         c

    ll -h 显示文件大小的单位
    软链接:快捷方式    有两个文件 一个是源文件一个是快捷方式
    ls -a 显示所有文件
    stat 文件名 查看文件信息
    ls -d 目录名 查看目录信息
    ls -i 显示i节点
    ls -R 递归显示  

    rm -rf 文件名 删掉不要的文件

    目录结构
    bin:放的都是二进制文件,都是可执行的命令
    sbin:里面的命令只能由root用户执行
    dev: 存放设备文件(键盘,光驱..)
    lib: 都是模块(内核中的所有模块,例如:驱动模块)
    media:插入U盘的实际位置,会挂载到这里,计算机里面的只是一个快捷方式
    net:
    srv:
    sys:
    cgroup:
    misc:
    root:root帐户的家目录,普通帐户访问需要授权
    home:普通帐户的家目录,root帐户可以直接访问
    usr: 存放的下载软件目录,软件主要的安装目录,相当于window program
    boot:启动目录,启动文件driver ,initrd vmlinuez,grab文件加载器
    etc: 存储配置文件的目录
    lib64: 64位的库
    misc: 
    opt: 经常用作挂载目录
    var: 存储一些经常变化的文件,例如:日志文件,下载的一些文件,访问的一些网站等
    lost+found:修复文件系统碎片,一个新分区的标志
    mnt: 挂载目录
    proc:内核初始化目录,虚拟文件系统。映射当前内核状态的一个目录。 关机之后文件清空
    selinux: 高级安全的内容
    tmp:存放临时文件

    路径
    绝对路径:凡是以根开始的路径
    相对路径:凡是非根开始的路径

    基本命令
    基本文件操作命令
    linux中的文件是没有扩展名的
    创建文件:touch 文件名称 如果当前目录下有一个同名的文件 touch后将会修改文件modify时间,其它什么也不做
    编辑文件:gedit 文件名(用gedit打开,如果不再同一目录下需要写明目录) 
        echo 打印的内容 >a.txt 可以向a.txt 打印文件内容 >会覆盖原文件内容  >>会在文件后面追加
        cat > a.txt 也可以向a.txt 中写入内容  cat >> a.txt 同上  回车后输入需要添加的内容
    查看文件:cat a.txt  
    拷贝文件:cp 源文件 目标路径; 
    拷贝文件夹: cp -r 需要拷贝的目录 目标位置
    剪切文件:mv 源文件 目标路径
    删除文件:rm 源文件; rm -r 删除目录;rm -f(--fource)强制删除  

    帮助
    翻页 shift+pgup shift+pgdn
    --help  
    ...多个
    [] 表示可选项
    {}表示必选项 
    <> 表示必选项
    |  表示二选一
    {|} 必选一个
    没有被任何括号括起来的也是必选项

    man 
    rhel5 中man手册分为91、命令
    2、系统调用
    3、C语言标准库
    4、预留的
    5、配置文件写法
    6、游戏
    7、杂项
    8、系统管理命令
    9、有关内核的

    man -f 要查的  可以知道都在那一章有
    man -k 要查的  会搜索所有含 要查的 内容

    搜索关键字 /要搜索的关键字    n 向下翻   N向上翻  g最顶端   G最底端

    编辑器
    gedit
    vim 
    nano
    emacs

    vim 
    《vi与vm》
    vim 文件名 打开文件
    命令模式:
    从命令模式到编辑模式:
        在命令模式中:
        a(光标位置后面),i(光表位置前面),
        o(换行),r(单个字符替换),A(行末),I(定位到行头),O(在上一行开始),R(替换) 
        从编辑模式到命令模式:ESC
        复制:yy  数字+yy 多行复制
        粘贴:p
        删除:dd  删除3行 前面加3
        剪切:dd
        撤销:u
        回滚:ctrl+r
        删除当前光标位置以后的内容:D 命令模式
        删除当前光标位置之前的内容:ctrl+u 编辑模式
        可视块模式:ctrl+v  shift+i  插入内容  两次ESC
        可视行模式:shift+v
        自动缩进:shift+v =
        可视模式:v
        用 v 取消可视化模式  两次和一次(可视模式)
        gg 回到顶端
        G 回到底端

    编辑模式:
    尾行模式:进入尾行模式:  1、用 /   2、 :命令
        :set nu 显示行号  
        :set nonu 取消行号
        把tab变成4个空格  vim  /etc/vimrc  所有目录都会生效
                vim ~/.vimrc    在想生效用户家目录下创建
                set ts=4   
                set sw=4
        不区分大小写 set ic
        取消  set noic
        自动缩进 set si
            set ci
        :sp  在同一个终端中打开一个文件 上下对比
        :vsp 在同一个终端中打开一个文件 左右对比
        退出:q
        保存退出:wq
        强制保存退出:wq!
        替换:%s/源关键字/替换以后的内容/g
            % 表示所有行 不写%为 替换当前光标所在行
            8 表示替换第8510 表示替换510行
            g 表示global 一行里面所有的关键字 不过不加表示只替换第一个

    查看IP地址 ifconfig
    vncviewer 控制远程桌面
    到桌面路径 Desktop

    ctrl+l 清屏
    ctrl+d 正常结束
    ctrl+c 强制结束
    e! 回到文本刚刚打开的状态

    用户和组
    用户
    创建用户:useradd 参数 用户名称 
        uid:user identify 系统识别帐户的标识
            数字:系统帐户(0~499) 非手动添加,安装软件后系统自动生成帐户
                 普通帐户(500~)
        gid:group identify 系统识别组的标识
        描述:对用户的描述,例如:性别,家庭住址,电话等
        家目录:
        登录shell:每一个帐户都会有一个登录shell 默认shell:bash
        锁定登录shell:把登录shell改成nologin
        当我们添加帐户后会自动添加到etc/passwd
        useradd -u 1000 用户名  指定用户uid 1000
        useradd -g 10 用户名   指定gid
        useradd -c  描述字符        
        useradd -d /user1   指定家目录
        useradd -s 指定登录的shell
        useradd -M user1 不创建家目录

        passwd分为7列 以:分开
        用户名:密码:uid:gid:描述:家目录:登录shell(默认是bash)
        /etc/shadow 这个文件中存放了真正的密码
        查看用户:id+用户名 或者到/etc/passwd这个文件中查看
        设置密码:passwd 直接回车会修改当前登录用户密码
            passwd 用户名称 修改用户密码
        普通帐户不能修改其他人的密码,普通帐户不能设置自己的初始密码
        锁定密码:passwd -l 用户名 
        解锁密码:passwd -u 用户名
    查看用户:cat /etc/passwd
    切换用户:su- 用户名
    删除用户:userdel 用户名
        userdel -r 用户名 连带个人信息一起删除

    组
    每次添加一个新的帐户就会产生一个同名的组,我们把这个组成为主属组。
    附属组:
    改变用户附属组:usermod -G 组名 需要添加的用户名  
    添加一个新组:groupadd 组名
    查看组:cat /etc/group
           组名:组密码:组id:组成员
    修改组:
    删除组中成员:gpasswd -d 用户名 组名
    把用户添加到组(增加用户附属组):gpasswd -a 用户名 组名
    添加组管理员:gpasswd -A 用户名 组名(可以添加删除用户) ?怎么删除组长
    查看组长:cat /etc/gshadow
        组名:组密码:组长:组员
    给组添加密码:gpasswd 组名 
    etc下的passwd和group,除了密码不能修改外,其它字段可以随便改。

    权限
     chown:可以修改一个文件的所有者和所属组
     chown 用户名 文件名 把文件分给用户
     chown .文件所属组 文件  修改文件所属组
     chown 文件所有者.文件所属组 文件  修改文件所属组和文件所有者

    基本权限
    ugo权限:user group other 
        ---  ---   ---
        r   read   :cat 
        w   write  :目录-》删除,创建 
        x   execute:文件 目录  
        修改权限:
        1、字母 chmod u+x 文件名  给文件所有者添加x权限 以此类推 g+ ,o+ 多个权限变更中间用逗号分开
               chmod a-w  去掉三个部分的w
        2、数字 4=r 2=w 1=x 数字是八进制的 -是0
               u   g    o
              rw-  r--  -wx
              420  400  021
              6     4     3
              chmod 033 文件名 将会改成  ---  -wx  -wx 

    umask码
    是用来控制文件和目录默认权限的
    系统在没有umask的情况下创建文件的权限是666,创建目录的权限是777
    设置umask码  umask 三位数字

    高级权限
    suid:suid经常被加在可执行文件上,当加了suid之后,执行这个命令的人就会拥有命令对象所有者的权限
          切换普通帐户
          chmod 4755 文件名(`which cat`) which cat 会得到一个结果 
          chmod 4755 $(which cat) 同上
          cat /etc/shadow 

    sgid:经常给目录用,当给一个目录加了sgid之后,后面不管谁来这个目录下面创建文件,文件的所属组都会继承目录
          su -用户名
          touch a.txt 建立一个文件
          chmod 2777 目录名

    sticky:当给一个目录加了t权限之后,所有人在这个目录下不能删除其他人的文件
        chmod 1777 目录名

    隐藏权限
        加了隐藏权限的文件,root帐户也不能删掉,被加了隐藏权限的文件,可以读,不能删除,不能覆盖
        chattr +i 文件名(目录) 添加隐藏权限  不可能向文件中追加内容  取消隐藏 -i
        lsattr 文件名(目录) 查看隐藏权限   
        chattr +a 文件名称  添加隐藏权限  可以继续向文件中追加内容  取消隐藏  -a 

    facl

    打包压缩
       tar:打包命令,不带压缩功能
        打包命令:tar cvf  打包后的文件名(.tar) 文件1 文件2 文件3
        解包命令:tar xvf 需要解的包 -C /解压后的路径/
        c create 创建
        v verbose 详细过程
        f file 文件
        -C 指定解压目录
        打包一起压缩: tar cvzf 压缩包名.gz  文件1 文件2
                tar cvjf 压缩包名.bz2  文件1 文件2
      gzip: 压缩命令,不会进行打包
        压缩命令:gzip 需要压缩的包
        解压命令: gunzip 需要解压的压缩包  解压出来是包
             tar xvzf 需要解压的压缩包 可以解压缩解包一起    (-C //)
     bzip2: 压缩命令: bzip2 包名
         解压缩:  tar xvjf 需要解压缩的压缩包(-C //)

    - 普通文件
    d 目录文件
    b 块设备文件(block)
    c 字符设备文件
    s socket
    p pipe管道文件
    l 符号链接文件

    .............................................................................................
    对目录来说 cd 需要什么权限   
    测试t权限   
    测试打包压缩  
    创建帐户user1,user2两个帐户。使用user1创建目录/user1,修改其权限,要求user2不可以在/user1里面创建文件,但是
    user3可以
    查看usermod命令的man手册,如何锁定帐户(非锁定登录shell),做实际测试
    创建用户tom,创建组caixu和xingzheng,要求tom的主属组为caiwu,附属组为xingzheng.
    查看chmod的man手册,如何递归修改目录权限。
    .............................................................................................

    rpm yum 红帽

    查看系统版本 uname -r
           lsb_release -a
    挂载镜像
    .iso 镜像
    mount -o loop /路径/镜像名.iso /mnt(此目录为挂载目录,也可以自己更改一个,但必须是空目录)

    虚拟机(挂载光驱)
    mount /dev/cdrom(cdrom-sr0,cdrw,cdrw-sr0)  /mnt

    卸载挂载镜像 umount 挂在点

    检查是否挂载成功
    cd mnt 看是否有光盘里的东西
    images, isolinux 有这两个文件就说明挂载成功

    /mnt/packages   红帽6软件
    /mnt/Server    红帽5软件

    软件包名字构成
    软件名称-版本号(主版本号.次版本号.修订版本号-修改号)-使用于操作系统版本-平台(例如:i386).rpm

    软件安装
    rpm -ivh 软件包名称 
    -i  install
    -vh 显示详细信息

    强制安装软件: rpm -ivh 软件包名称 --force
    --nodeps 不检查依赖性强制安装
    --nodeps 卸载的时候不检查依赖性关系强制卸载

    过滤命令
    ls |(管道符) grep(过滤命令) vnc(需要过滤的关键字)

    查看软件名称  rpm -qa |  grep vnc  所有已经安装到系统中的软件
    查看软件安装目录    rpm -ql 软件名称  
    查询软件信息    rpm -qi 软件名称

    q query 查询
    a all 
    l list

    软件启动
    查看启动命令
    rpm -ql 软件名称  bin目录下的文件就是启动文件,名字就是启动命令
    通过启动命令查找对应软件
    查询命令绝对路径: which 命令名
    查询命令软件: rpm -qf 命令绝对路径    

    /etc/motd
    可以在这个文件中修改登录欢迎界面

    卸载软件
    rpm -e 软件名称
    卸载软件的时候先卸载主包,在卸载依赖包

    客户端
    mysql
    服务器端:
    mysql-server

    yum
    客户端:安装软件的机器
    客户端需要配置文件:/etc/yum.repos.d/yum.repo(配置文件自己起名 但是必须要.repo结尾)
    清空目录下所有文件:rm -f /etc/yum.repos.d/*
    编辑配置文件:
    所有行顶格写
    -----------------------------------
    [rhel5] 名字 用来区分其他的yum源
    name=rhel5  yum源的描述
    baseurl=file://本地yum源的绝对路径(/mnt/Server)
    enabled=1  1表示yum源可以使用 0表示不可以使用
    gpgcheck=0 不检查软件
    -----------------------------------
    yum命令:
    yum客户端命令:
    安装:1、查看要安装的软件名称:  yum search 软件名 查询已经安装的和没有安装的
         2、安装:yum install 软件名
            可以同时安装多个软件 用空格隔开
         3、列出已经安装系统上的软件和yum源里面没有安装的软件: yum list
         4、列出已经安装的和没有安装的软件组:yum grouplist  安装组软件 yum groupinstall 软件组名称
         5、yum clean all 清理yum缓存
         6、
    卸载软件: yum erase 软件名
         yum remove 软件名


    服务器端:提供yum源
    客户端和服务器在一起:本地yun源
    客户端和服务器端分开:远程yum源

    进程
    查看系统中所有进程:ps -e
    pid    :    tty :   time        :   CMD 
    进程标识        第几个终端上运行    程序运行的时间     进程的名称
            (?运行在后台的进程)
    把图形应用程序放在终端的后台  程序运行命令  &
    杀死进程:kill -9  进程的pid
        -9 强制杀死 或者 kill -kill 等价 kill -9
        -15 (term) 正常杀死  如果不写-15 默认为正常杀死
        -18 (cont) 激活
        -19 (stop) 暂停 
        xkill 改变鼠标状态 点哪哪死   退出ctrl+c
        -l 查看所有的信号
        man 7 signal 查看信号对应的解释

    ps aux: 查看所有进程
    ps auxf:
    ps -ef:
    top:
    pgrep 进程名称:
    kill:
    pkill 进程明称:
    lsof -i:端口号 : 查看进程号
    pidof 进程名称: 查找进程ID

    找回root密码
    1、重启系统进入特权模式  上下键进入
    2、按 e  选择 第二行 按 e
    3、空格 1  回车
    4、b
    特权模式不需要密码,直接进入帐户

    服务
    ssh:
    1、安装软件  yum install openssh -y
    2、配置        
    3、启动    /etc/init.d/sshd start     客户端:lftp
       重启  -----------------restart
       停止  -----------------stop
    4、测试(使用)
       远程管理,远程登录目标机: ssh 用户名@ip地址 如果用户明是ROOT则用户名可以不写
       远程拷贝:
       w:可以查看登录到机器上的人
       killall sshd 杀死登录本系统的人,同时关掉ssh
       退出远程登录的系统:exit
       查看IP地址:ifconfig
       设置ip :ifconfig eth0 ip地址

       hostname:查看主机名称  
       修改主机名称:hostname 主机名称
       登录解析文件:/etc/hosts   
       把-->>  ip地址 主机名称   写入上面的文件中就不会出现登录卡的现象   

       远程拷贝文件
       scp 被拷贝文件 目标地址

       未登录:
       本地-->> 远程
       scp 文件  ip地址:/路径/

           已登录:
           远程-->>本地
           scp 文件  ip:/路径/
       .......................................................................
       tftp(向arm板里面传东西)
       客户端:tftp
       登录:tftp ip(服务器的ip地址)
       下载文件:get 文件名(存在当前目录下)
       退出:quit

       服务器端:tftp-server
       启动服务:chkconfig tftp on 
       关闭服务:chkconfig tftp off
       拷贝文件目录:
       rhel6: cp a.txt /var/lib/tftpboot/
       rhel5: cp a.txt /tftpboot
       修改权限:chmod 777 /tftpboot -R(递归修改)
       .......................................................................
       vsftpd 下载服务器
       安装软件:vsftpd

       服务器端:vsftpd
       启动服务: /etc/init.d/vsftpd start
            -------------- restart
       拷贝文件目录:
       /var/ftp    ftp他的权限不能大于755 ftp的家目录,共享文件目录
       在ftp下建立目录download 改变权限成 777  在download目录下我们交换文件

       客户端:lftp
       登录:lftp ip(服务器)
       >ls    //就可以看到里面东西
       >cd download   查询内容
       >get aa.txt -o /下载目标路径/      下载文件
       >mirror 需要下载的目录  /目标路径/    下载目录
       退出:quitcd 
       ............................................................................                                                                 
           关闭防火墙:
           /etc/init.d/iptables stop
           关闭selinux:
           setenforce 0

       虚拟机快照 相当于虚拟机系统的备份
       ......................................................................................
       http    www服务器
       安装软件:httpd   yum install httpd -y
       启动服务:/etc/init.d/httpd start 
       家目录:/var/www/html
       发布网站:
           启动服务
          cd /var/www/html/
           vim index.html

       下载用服务器: /var/www/html/download  需要先往家目录里面建立一个目录,然后将需要下载的文件拷贝进去
        客户端:ip地址/download 就到了下载连接了

       date 查看当前时间

       计划任务
       at:一次性
           at 时间(15:00)
           >操作  例如:touch /tem/aa.txt
           >ctrl+d(结束操作)
       crontab:循环性      
           启动服务:/etc/init.d/crond restart
           编写计划任务:crontab -e 
                  时间                                        动作
                  分钟(0-59)小时(0-23)日(1-31)月(1-12)周(0-7)             命令(wall haha)
                  */1****    wall haha
                  */5   每隔五分钟
                  10  每个小时的第10分钟
                  *   每天
                  5,8  每个小时的第5,第8分钟
                  5-10 每小时5678910分钟都执行
           取消计划任务:Crontab -e 清空
           wall 内容  在所有终端中打印消息

       日志
       系统日志存储位置     /var/log
       常用日志: messages
       实时查看日志:tail -f /var/log/messages
       tail -f xerlog   ftp日志
       w 查看tmp日志     当前登录系统的用户
       last  查看 wtmp日志   查看一个月之内登录系统的用户
       lastlog 查看lastlog文件  系统内的帐户最后一次登录系统的时间

       视频

       shell
     添加100个帐户
     #!/bin/bash      //指定一个命令解释器
     for((i=101;i<=1000;i++))
     do 
        if test $i -eq 200
            then
                exit
            else
                useradd user$i
                echo "添加第" $i  "个帐户成功"
        fi
     done 









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值