> Linux教程 > Linux学习 >

linux基础

常用命令笔记

    查找大文件命令:find / -type f -size +800M

    查看磁盘使用空间:df -hl

上传下载文件

    yum -y install lrzsz

    rz上传    sz下载

自启动软件

    chkconfig --level 35 httpd on

    chkconfig --level 35 mysql on

redhat单用户模式修改密码

    启动系统按e进入下一级,选中kernel开头的菜单选项继续按e进入下一级,将/空格 后面的单词删除改为single按回车键,再次选中kernel开头的菜单选项按b启动系统,启动完成后输入passwd root回车,输入新密码,两次密码保持一致,修改密码成功,输入reboot重启系统。

引导系统

    1、 选择操作系统

        /etc/grub.conf

        1)查看grub配置文件

        

        /etc/grub.conf是 ../boot/grub/grub.conf的链接文件

        2)配置文件的详细解释

        

        3)设置grub密码

          

        

     2、选择登录界面

        /etc/inittab(linux有字符界面和图形界面,启动后默认进入到哪一种界面,由/etc/inittab文件决定)

        1)linux运行级别:

            

            0:关机    1:单用户模式    2:多用户模式,没有NFS    3:多用户模式(字符模式)4:自定义模式    5:图形模式    6:重启模式

        2)执行对应的文件

            /etc/rc.d

            

    3、挂载文件系统

        /etc/fstab

        1)将硬盘中某个区域与操作系统目录进行映射就是挂载

        2)查看文件内容vi /etc/fstab

            

            第1列:硬件资源    第2列:挂载点    第3列:挂载类型    第4列:挂载参数    第5列:是否备份    第6列:自检顺序    0:不自检

操作系统目录

    /bin:系统命令目录            /dev:设备目录            /home:用户家目录。非root用户家目录在/home/用户下,root用户家目录在/root下

    /lib:系统库目录                /media:多媒体目录     /mnt:挂载目录            /proc:系统内存目录            /sbin:超级用户系统命令目录

    /tmp:临时文件目录          /var:常变文件的目录(数据库、日志、网页文件等,系统默认,可自定义)   /boot:系统启动文件所在目录

    /etc:配置文件目录           /lost+found:失物认领处(如非法关机)           /opt:第三方应用程序目录   /root:超级用户root的家

    /usr:系统应用程序所在目录(正常安装软件时都安装在此目录)

使用vmware进行centos桥接模式下对应的网络配置

    1、vim /etc/sysconfig/network-scripts/ifcfg-eth0修改ONBOOT="yes",保存退出

    2、使用ifconfig获取当前ip地址

    3、在物理机使用cmd命令行输入ipconfig得到物理机信息

    4、vim /etc/sysconfig/network-scripts/ifcfg-eth0,添加修改如图

        其中IPADDR为虚拟机ip地址,和物理机为同一ip段但不等,NETMASK子网掩码以及网关保持和3中的子网掩码和网关一致

    5、 vim /etc/sysconfig/network,添加网关

    6、 vim /etc/resolv.conf,添加DNS解析 

    7、service network restart 重启网络服务

    8、测试访问本机、访问宿主机、访问外网、宿主机访问虚拟机

        ①访问本机

        ②访问宿主机

        ③访问外网

        ④宿主机访问虚拟机

使用远程登录工具连接服务器时,输入用户名后需要等待一段时间才能输入密码的解决办法:

    vim /etc/ssh/sshd_config修改配置文件,保存退出,并重启ssh。

    UseDNS no

    GSSAPIAuthentication no

    service sshd restart

vim编辑器

    命令模式常用操作

        1.插入

                i   在光标所在字符后插入

                I   在光标所在行尾插入

                a   在光标所在字符前插入

                A   在光标所在行首插入

                o   在光标下插入新行

                O   在光标上插入新行

        2.定位

                小范围移动  h j k l     对应方向左上下右,可替换方向键使用      

                :set nu     设置行号

                :set nonu   取消行号

                gg      到文章第一行

                G       到文章最后一行

                nG      到第n行

                :n      到第n行

                $       移至行尾

                0       移至行首

                ^       移至行首

        3.删除

                x       删除光标所在字符

                nx      删除光标所在后n个字符

                D       删除光标所在字符至行尾

                dd      删除光标所在行 

                ndd     删除光标所在后n行

                dG      删除光标所在行至结尾

                :n1,n2d 删除指定范围的行

        4.复制和剪切

                yy      复制当前行

                nyy     复制当前以下n行

                dd      剪切当前行

                ndd     剪切当前以下n行

                p、P        在光标所在行下、上粘贴

                用复制\剪切同粘贴命令组合使用

        5.替换和撤销

                r       取代光标所在字符

                R       开启替换模式一直替换直到esc结束

                u       撤销

                ctrl+r  反撤销

        6.搜索和搜索替换

                /string 查找指定字符串  :set ic 忽略大小写

                   n   从结果中查找下一个  N   从结果查找上一个

                :%s/old/new/g   全文替换指定字符串

                :%s/old/new/c   全文替换指定字符串,每次替换询问

                :n1,n2s/old/new/g  在指定范围替换指定字符串

            小技巧:

                :1,5s/^/#/g        注释1到5行

                :1,5s/^#//g        取消注释(至替换头部的#,固加^)

                :1,5s/^/\/\//g     文件头加入//

                :1,10s/^\/\///g       

        7.保存和退出

                :w      保存修改

                :w  newfilename 另存为新文件

                :wq     保存并退出

                ZZ      快捷键,效果同上

                :q!     不保存修改直接退出

                :wq!        保存修改并退出(文件所有者或root可用)

        8.显示颜色高亮

                :syntax on  开启颜色

                :syntax off 关闭颜色

快捷操作

         CTRL+C 终止命令

         CTRL+A 光标到行首

         CTRL+E 光标到行尾

         CTRL+U 剪切光标前内容

         CTRL+K 剪切光标后内容

         CTRL+Y 粘贴剪切的内容

         CTRL+L 清理屏幕

         CTRL+D 注销登陆相当于exit和logout或者保存

         CTRL+Z 将进程在后台挂起

         Ctrl + Q 可以解除 ctrl + S 的文件保存锁定

常用命令

    touch    创建空文件或修改文件时间

    rm         删除

        -rf 递归删除

        -r 删除目录

        -f 强制

    cat        查看文件内容,从头到尾 

        -n 列出行号打印内容

    more    分屏显示文件内容

        enter一行一行,f一页一页,空格半页半页,b向上翻页,q退出

    head    显示文件头

        -n 指定显示文件头几行

    tail    显示文件尾

        -n 指定显示文件尾行

    ln    链接,不能给目录,不能跨分区

        ln -s 源文件 目标文件                    //软链接,相当于windows快捷方式

        ln [-d] 源文件 目标文件                    //硬链接,拷贝加同步更新

        文件名都必须写绝对路径,否则软链接移后失效

    cp    复制

        -r 复制目录

        -p 连带文件属性复制

        -d 若源文件是链接文件则复制链接属性

        -a 相当于-pdr

        cp    aa    /tmp/                 //原名复制

        cp    aa    /tmp/bb            //改名复制

    mv    剪切或改名

        mv    /root/aa    /tmp/        //剪切

        mv    aa    bb                       //剪切并改名

批量添加用户

    如果想在linux中创建很多帐号,可以将这些信息先放入在一些文本文件中,再批量导入用户系统

    1、编辑用户文件

        

    2、编辑密码文件

        

    3、newusers(从一个文件中导入用户)

        newusers < user.txt

        vi /etc/passwd

    4、pwunconv(将/etc/shadow中的密码写回到 /etc/passwd文件中)

        pwunconv

        vi /etc/passwd

    5、chpasswd(将我们编写的密码文件写入到/etc/passwd文件中)

        chpasswd < pwd.txt

        vi /etc/passwd

    6、pwconv(将/etc/passwd中的密码写回/etc/shadow)

        pwconv

        vi /etc/passwd

权限命令

    赋予普通用户特殊权限

        ①vim sudoers

        user1    localhost=/sbin/shutdown

        user1    localhost=/sbin/sbin/useradd

        ②添加用户

        sudo /sbin/sbin/useradd abc

    权限位是十位

        第一位代表文件类型

            - 普通文件    d 目录文件    l 链接文件

        后九位

            属主权限u    属组权限g    其他人权限o

            r 读 4    w 写 2    x 执行 1

    修改权限

        chmod    u+/-/=x  g+w  o+w  123

    修改属主和属组

        chown    用户名    文件名    改变文件属主和属组

        chown    user1        aa        user1必须存在

        chown    user1:user1  aa    改变属主同时改变属组

        chgrp      组名        文件名        改变文件属组

帮助命令

    man    查看命令的帮助(只用于有文件实体的命令)

    help    查看shell内核命令

查找命令

    whereis    查找命令的命令,同时看到帮助文档位置,和which相同,可看到命令别名

    find    搜索文件命令

        在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配。通配符是完全匹配。

        按照文件名查找

            find    /    -name    aabbcc                //精确查找文件aabbcc

            find    /etc    -name    init*                //查找在/etc下以init开头的文件

            -iname                //不区分大小写

        按照用户

            -user    用户名    按照属主用户名查找文件

            -group    组名     按照属组组名查找文件

        按照文件大小

            -size    +50k:大于50k    -50k:小于50k    50k:等于50k        k    M

            find        /    -size    +50k        查找/下大于50k的文件

        按照类型

            -type    类型                //按照文件类型查找 f 普通    d 目录    l 链接

        按照权限

            find    /root    -perm    644    //按照权限查找

        按照i节点

            -inum            //按照i节点查找

    grep    查找符合条件的字串行

        在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式匹配,正则表达式是包含匹配。

        grep -i "root" /etc/passwd

        -v    反向选择

        -i     忽略大小写

压缩和解压缩

    .gz     .bz2        linux可以识别的常见压缩格式

    .tar.gz .tar.bz2    常见的压缩和打包命令

    压缩同时打包

        tar    -zcvf    压缩文件名    源文件

        tar    -zcvf    aa.tar.gz        aa

                -z  //压缩.gz格式    -j  //压缩.bz2格式    -c  //打包    -v  //显示压缩过程    -f  //指定压缩包名

        tar    -zxvf    压缩文件名    解压缩同时解打包

                -x  //解压缩

    查看不解包

        tar    -ztvf/-zjvf    aa.tar.gz/aa.tar.bz2

                -t  //只查看,不解压

        tar    -jxvf    root.tar.bz2    -C    /tmp/    指定解压缩位置

网络命令

    ping    测试网络连通性

        ping    -c    次数    ip            //探测网络通畅

    ifconfig    查询本机网络信息

        ifconfig    eth0    192.168.1.1    mask    255.255.255.0            //临时修改网卡ip地址

    netstat    查看网络状态,常用组合 -ptlun

        -t  查看tcp端口    -u  查看udp端口    -l  监听    -n  以IP和端口号显示,不用域名和服务名显示

        -a  查询所有连接    -p  查看进程名

    write和wall(write all)    广播命令

        write   user    回车

        >发送内容

        >ctrl+d 保存发送

        --------------------------我是分割线^-^-------------------------     

        wall    回车

        >发送内容

        >ctrl+d 保存发送

        所有用户都能收到信息

关闭和重启命令

    shutdown

        shutdown    -h    now                        //没有特殊情况时,使用此命令

            -h    //关机

            -r     //重启

        shutdown    -r    now                        //等同于reboot

    reboot                                                   //重启

挂载命令

    mount    挂载

        mount    -t    文件系统    设备描述文件    挂载点(已经存在空目录)

        mount    -t    iso9660     /dev/cdrom      /mnt/cdrom

    unmount    光盘卸载

        umount    /dev/cdrom

        umount    /mnt/cdrom    

    退出挂载目录才能卸载

命令历史

    history    列出所有的命令(默认最多保存条数1000条)

命令别名

    alias    显示当前可用别名命令

    添加别名(临时)

        alias    copy=cp        //给cp取别名复制文件

    删除别名

        unalias    copy

    永久别名

        在用户宿主目录~/.bashrc文件中添加别名信息,如alias vi=vim,重启生效或者source ~/.bashrc即时生效

重定向

    1.Shell对于每个进程预先定义了3个文件描述字

         0 标准输入  STDIN      键盘

         1 标准输出  STDOUT  显示器

         2 标准错误输出 STDERR

         重定向,就是改变这个标准设备,不用键盘输入,不用显示器输出

    2.输出重定向(> 或 >>)

        例:echo hello  直接显示到显示器

                  echo hello>test.txt         将输出重定向到test.txt

                  ls -l /tmp>files.txt            将输出重定向到files.txt

                  more files.txt   查看文件内容

        把/website下大于100M的文件列表

            find /website -size +204800 >/backup/100M+.file.list

        追加,用 >>

 

        2>   或  2>>                 #描述字和符号间不许有空格

        例:自动备份 通常用计划任务在凌晨自动执行

            cp -R /usr/backup/use 2>>/bak.error                //将错误信息,定向到一个文件中

            ls /aaaaaa 2>ls.err        //如果/aaaaa这个目录不存在,则将错误信息保存到ls.err中

         这里面的2就是前面讲的Shell对于每个进程预先定义了3个文件描述字,0和1都可以省略,2不能省

    3.输入重定向

        例:wall < /test/msg    从一个文件读取内容发广播,这样可以用计划任务,到时自动发送

管道连接符

    将一个命令的输出,传送给另一个命令,作为另一个命令的输入,可以连接多个命令

        用法: 命令1|命令2|命令3...

        例:

            ls -l /etc | more  文件太多,一次看不完,用more来查看 

                下一页:空格或f         下一行:回车 退出:q 或Q

            ls -l /etc | grep init  只显示init相关的行

            ls -l /etc | grep init | wc -l     查看init相关的有多少行,也就是包含init的文件有多少个

            who | grep root 只显示root的登录信息

            wc -l  统计文件有多少行

            who | grep root | wc -l     查看root 用户登录了几次

命令连接符

    ;    不管执行是否成功,多个命令依次执行        例:   pwd ; ls ; date

    &&   前面执行成功,才执行后面的命令,如果第一个失败,则不执行第二个

        write user1 < /home/jack/love.txt && rm /home/jack/love.txt    情书发成功,就删除

        ls && pwd 第一个成功后,将执行pwd命令

    ||    前面执行失败,才执行后面的命令

        write mary < /home/jack/love.txt || mail mary< /home/jack/love.txt  情书发失败,则发邮件

    ``    命令替换符

         将一个命令的输出作为另一个命令的参数    命令1 `命令2`,命令1的参数,是命令2的执行结果

         ls -l `which touch`     找到touch命令的路径,然后用ls查看属性

任务调度

    定义:规定系统在指定时间完成指定的任务过程

    crontab -e    //编辑任务调度指令

    crontab -l    //查看任务调度指令

网络配置

一、子网掩码和ip地址设置

    目录 /etc/sysconfig/network-scripts下的ifcfg-eth0,设置完成重启网络 service network restart

    

二、更改虚拟机网卡为桥接

三、本机和linux互相ping通

    问题:本机可以ping同linux,但是linux不能ping通本机

    解决:关闭本机防火墙

终端连接linux系统

    使用终端软件如secureCRT、putty等

一、secureCRT配置并连接linux(ssh协议 22端口)

    

二、ssh命令

    1、ssh

        ssh 主机        ssh 用户@主机        ssh 主机 –l 用户名 –p 端口

    2、scp

        scp 本地文件 远程文件               上传                                scp 远程文件 本地文件               下载

        scp –r 文件夹 文件夹                  递归上传或下载               scp –P 端口 文件 文件                指定端口

    3、ssh免密登录服务器

        1、确认本机sshd的配置文件(需要root权限)
      vim /etc/ssh/sshd_config
      找到以下内容,并去掉注释符”#“
      RSAAuthentication yes
      PubkeyAuthentication yes

           PasswordAuthentication yes
      AuthorizedKeysFile      .ssh/authorized_keys
       2、如果修改了配置文件需要重启sshd服务 (需要root权限)
      $ /sbin/service sshd restart

       3、生成公私钥

           本地终端,输入ssh-keygen -t rsa

       4、导入要免密码登录的服务器
            scp ~/.ssh/id_rsa.pub root@host:/root/id_rsa.pub  

       5、root登录服务器,将公钥导入到认证文件

            cat /root/id_rsa.pub >> ~/.ssh/authorized_keys
       6、在服务器上更改权限
            chmod 700 ~/.ssh
            chmod 600 ~/.ssh/authorized_keys




(责任编辑:IT)