linux基本命令

  1. 用户和组
    1、创建用户名 比如useradd beifeng
    2、设置用户密码,比如passwd beifeng
    3、删除用户:userdel 用户名
    选项:-r 彻底删除用户信息
    4、查看用户 id+用户名
    5、退出用户:exit

  2. 设置主机名
    *暂时性设置# hostname hadoop-senior.ibeifeng.com
    *永久性设置:# vi /etc/sysconfig/network
    设置:
    NETWORKING=yes
    HOSTNAME=hadoop-senior.ibeifeng.com

  3. 主机名与IP地址的映射
    配置文件:
    Linux环境下:
    vi /etc/hosts
    192.168.187.129 hadoop-senior.ibeifeng.com hadoop-senior
    windows环境下:C:\Windows\System32\drivers\etc\hosts
    192.168.187.129 hadoop-senior.ibeifeng.com hadoop-senior
    开机启动网卡设置
    ONBOOT=yes

    服务设置
    BOOTPROTO=none
    1、DHCP  自动获取IP
    2、static固定IP         实际工作中建议static
    3、none   未指定和固定IP
    

    测试
    ping通外网需要设置DNS解析
    DNS1=192.168.189.2
    service network restart
    配置网络服务解析位置:/etc/resolv.conf
    查看网卡命令:# route -n

  4. 查看当前所在位置
    pwd
    etc存放的是系统的配置管理文件
    home存放的是用户的主目录信息
    root存放的是root用户的主目录信息
    dev存放系统设备文件
    boot存放的是系统启动加载的目录
    系统命令存放在bin和sbin中

    1. 进入到某个目录下
      #cd /boot/grub
  5. 回到主目录
    cd /
    ls

  6. 查看目录里面的内容
    ls:显示有哪些文件
    ll/ls-l显示文件的详细内容
    显示某字母开头,某个字母结尾
    #ls | grep ‘^ns.*.conf$’

  7. 模糊查找
    find .amin - 10#查找在系统中最后10分钟访问的文件
    find . -atime -2 # 查找在系统中最后48小时访问的文件
    find . -empty # 查找在系统中为空的文件或者文件夹
    find . -group cat # 查找在系统中属于 groupcat的文件
    find . -mmin -5 # 查找在系统中最后5分钟里修改过的文件
    find . -mtime -1 #查找在系统中最后24小时里修改过的文件
    find . -nouser #查找在系统中属于作废用户的文件
    find . -user fred #查找在系统中属于FRED这个用户的文件

    在当前目录搜索文件内容含有某字符串(大小写敏感)的文件:
    find . -type f | xargs grep ‘your_string’

    在当前目录搜索文件内容含有某字符串(大小写敏感)的特定文件:
    find . -type f -name ‘*.sh’ | xargs grep ‘your_string’

    在当前目录搜索文件内容含有某字符串(忽略大小写)的特定文件:
    find . -type f -name ‘*.sh’ | xargs grep -i ‘your_string’

    查找文件;
    find +目录+文件名

    find 命令选项:-name 通过文件名搜索
    全盘查找:# find / -name init
    在查找的过程中尽量的缩小查找的范围
    # find /etc/sysconfig -name init
    查找包含关键字的用法
    # find / -name init
    查找以init开头的文件# find /etc/ -name init*
    通配符:*、?
    * 匹配任意字符
    ?匹配单个字符
    选项:-size
    根据文件的大小来进行查询
    指定方式:
    1、+ 表示大于
    2、— 表示小于
    3、不加符号 表示等于

        选项:-user
            按照所有者查找
            # find /root -user  root
    
  8. 创建多层目录
    mkdir -p /uml/movie/cartoon
    删除目录:
    rm -rf +绝对路径
    删除目录和文件
    文件# rm files.txt
    目录# rm -r test/
    [选项-r 表示删除目录;选项-f 表示强制操作]
    rm dir (空目录)

  9. 同时创建多个文件
    $ touch humanq.rmvb nezhao.mp4

  10. 复制文件并重命名
    cp test.sh test1.sh(重命名)
    cp 文件名 文件目录
    cp -r 目录名 文件目录
    [选项-r复制目录;选项-p保留原文件属性]

  11. 重命名与移动
    mv src dest
    重命名 src dest 在同一目录下
    移动 src dest 不在同一目录下或者dest是目录,src是文件

  12. 创建链接(快捷方式)
    软链接(soft link)
    #| lnsfile/dirlinkname ln -s readme.txt rm.txt
    硬链接(hard link)
    #|$ ln file/dir linkname
    区别:删除链接时是否删除原文件

  13. 查看
    cat:查看全部的内容(少)
    显示文件内容 # cat /etc/issue
    倒过来显示文件内容# tac /etc/issue
    more:分页查看文件内容(大)
    tail:末尾内容查看【参数:-(行数,默认10)f】实时查看日志信息
    查看文件末尾几行,默认不指定显示10行
    tail -6 /etc/services
    head:文件开头查看(内容的模式)
    查看文件前几行,默认不指定显示10行
    # head -5 /etc/passwd

  14. 设置普通用户的sudo权限
    root ALL=(ALL) ALL:
    1、root第一个是用户名
    2、ALL被管理主机的地址可以使ALL 或者IP
    3、(ALL)可以使用的身份,可以不写,默认root用户
    4、ALL 要操作的命令
    配置示例:
    root ALL=(ALL)root ALL
    beifeng ALL=/sbin/shutdown -r now

        使用格式:
        $ sudo shutdown -r now
    编辑:#vi /etc/sudoers
    在开头写入:root ALL=(ALL)    ALL
                ibeifeng ALL=(ALL)   ALL
    改变权限:#chmod 440 /etc/sudoers
    
    防火墙的管理
    (1)查看防火墙的状态 sudo service iptables status
    (2)关闭防火墙:sudo service iptables stop
    (3)开启防火墙:sudo service iptables start
    
  15. 文件管理
    文件类型:文件(-)、目录(win7下的文件夹 d)、链接(win7下的快捷方式 l)
    例子:
    -rw-rw-r–. 1 ibeifeng ibeifeng 19728 Jun 5 16:57 bf-log.txt
    第一部分:
    - (文件类型) {rw- (拥有者u user)rw-(属于组 group g)r– (其他o other)}:表示此文件针对不同用户的权限
    文件权限:r(可读 4)、w(可写 2)、x(可执行 1)-(没有任何权限)
    r:读 可以查看文件 cat more tail head
    w:写 创建删除文件 mkdir touch vi
    x:执行 进入到目录文件中 cd
    第二部分:
    ibeifeng(拥有者) ibeifeng(所属组)
    针对不同用户设置权限:
    #chmod g/o/u +/- r/w/x 文件名称
    #chmod 数字 文件名称
    改变文件拥有者:
    #chown ibeifeng 文件绝对路径
    改变所属组:
    #chgrp ibeifeng 文件绝对路径
    针对目录改变(递归)
    #chown -R ibeifeng 目录路径
    同时改变(文件拥有、组):
    #chown senior:senior 文件名

  16. vi编辑器
    vi/vim + 文件名
    在vi/vim查看模式下:
    dd:表示删除光标所在行的内容
    ZZ:保存
    x:表示光标处的字符删除
    o:表示光标的下一行插入
    w:表示保存写入
    q:退出
    !:表示强制操作
    wq!可以连用

        VI快捷方式:
            1、显示行号:set nu(在编辑模式下进行)
            2、删除单行:小写dd(在命令模式下进行)带有剪切功能
            3、连续删除多行:比如三行就是小写3dd(在命令模式下进行)
            4、黏贴:小写p(在命令模式下进行)
            5、复制:小写yy(在命令模式下进行)
            6、光标快速移动到文件末尾行,按大写G(在命令模式下进行)
            7、光标快速移动到文件第一行,按小写gg(在命令模式下进行)
            8、撤回上一步的操作,按小写u(在命令模式下进行)
            9、光标快速移动到指定的行,比如:80(在编辑模式下进行)
            10、替换,比如:1,$s/nologin/88888/g
            1:代表第一行
            $:代表最后一行
            s: 代表替换
            /:代表分割
            g: 代表通行
            1,$代表一个范围,比如:5,10或者 10,20 
    
  17. 查看Linux系统信息
    uname:查看系统名称
    uname -r查看系统的具体信息
    cat /proc/cpuinfo查看CPU信息
    cat /proc/meminfo 查看内存信息
    date 查看时间 【R】时区
    cal +年份,显示某年份的日历表
    设置系统时间
    #date -s 2015-09-30 14:42:45

  18. 磁盘情况
    显示已挂在分区的使用情况: sudo df -lh
    显示目录的容量大小:du -sh /home/ibeifeng
    显示磁盘详细信息:# fdisk -l
    显示挂载磁盘信息: #mount
    挂载磁盘:#mount /dev/sdb1 /data01
    卸载磁盘:#unmount /dev/sdb1
    查看系统内存的使用情况:free -M
    查看进程信息:top -M

  19. Linux下软件的安装方式
    第一种:rpm方式
    查看某个软件是否安装:
    #rpm -qa | grep java
    卸载已经安装的软件
    #rpm -e –nodesps +软件名(多个用空格隔开)
    安装软件:#rpm -ivh xxx.rpm
    第二种方式:tar包
    zip软件:
    解压: unzipxxx.zip zip yy.zip 文件路径
    tar软件:
    tarzxvfxxx.tar.gz() tar -zxvf xxx.tar.gz C dir(文件路径)
    压缩:$tar zcvf dir/file
    第三种方式:yum安装

  20. 安装jdk
    (1)给tar包执行权限
    (2)解压tar包 tar -zxvf +名称
    (3)进入jdk目录下bin
    (4)切换到root用户
    (5)配置环境变量 vi /etc/profile
    在文件最后插入
    ##JAVA_HOME
    export JAVA_HOME = jdk的解压目录
    export PATH= PATH:/ JAVA_HOME/bin
    (6)source /etc/profile重新启动

  21. shell编程
    shell程序是文本文件(批量操作Linux命令集合)该文件能够被shell解释执行,以.sh作为后缀名
    变量使用 exho var 或echo varunsetvarset 0当前脚本的文件名
    #参数的个数*/ @ !最后一个后台进程号
    ?00 1,2,3…9、 10arr=(mathenglishchinese) {arr[0]} 引用
    {#arr[*]} 数组个数{arr[*]} 所有元素
    arr[0] =chemical 赋值
    for语句
    脚本判断:
    1、关于文档名的【文档类型】判断,如test -e filename表示
    -e 该文档是否存在
    -f 该文档名是否存在且为文档【file】
    -d 该【文件名】是否存在且目录(directory)
    2、关于档案的权限侦测 test -r filename
    -r -w -x
    3、关于两个整数之间的判定
    -eq -ne
    -gl -lt
    -ge -le
    4、判定字符串的数据
    test -z String:string 为0,则为true
    test -n String:string 为0,则为false
    test str1=str2/str1!=str2

    语法:for i in
            do
                命令序列(集合)
            done
    语法2:for((i=1;i<=10;i++));do
                sum=$(($sum+$i))
            done
    
    while循环
        语法1:while[ 条件 ]
                do
                命令序列(集合)
                done
        语法2:while read -r line
                do
                命令序列(集合)
                done
        read 表示从标准输入读取一行,并把输入的每个字段的指定给shell变量
        选项:-r 代表允许使用特殊的字符包括反斜杠\
    
        line:表示变量名
        案例:
        #!/bin/bash
        i=1
        SUM=0
        while [ $i -le 10 ]
        do
        SUM=$((SUM+i))
        i=$[i+1]
        done
        echo $SUM
    
        echo "-------------------------------------"
    
        while read -r s
        do
            echo $s:Hello每一行的末尾每一行显示指定的字符用:隔开(原文件没有被修改)
        done < /etc/passwd##通过小于符号将查看内容的文件传输给while命令,然后while要结合read命令
    
    awk命令:
        语法:awk '条件1 {动作1} 条件2 {动作2} 条件3 {动作3}...' 文件名
        作用:可以格式化输出一些内容,printf
              还可以输入控制流语句
        管道符号同样支持AWK命令
            $ awk '{printf $1 "\t" $5 "\n"}' gerry.txt
            # df -h | awk '{print $1 "\t" $5}'
            选项:-F指定分隔符
        printf与print的区别:
            前者需要手动添加“\n”,后者不需要,自动添加
    需求:
        格式:用户名+HELLO,拿passwd文件来举例
        反引号:代表预先执行
    
    
    if语句
        语法1:判断2是否等于2
        #!/bin/bash
    
        if [ 2 -eq 2 ]
        then
        echo YES
        fi
    
        如果不相等,则没有输出结果
    
        if后必须空格,否则报错
        if [ 3 -eq 2 ]
    
    语法2:
        判断tmp下有没有123目录,没有则创建
        #!/bin/bash
    
        if [ -d /tmp/123 ];then
            ls /tmp/123
        else
            mkdir /tmp/123
        fi
    
        \反斜杠代表可以换行继续输入命令
    
    case语句:
        系统管理命令用户提示手册
    
        #!/bin/bash
    
        case $1 in
        top)
            top
            ;;
        free)
            free
            ;;
        df)
            df
            ;;
        *)
            echo "usgae:$0{top|free|df}"
        esac
    
    
    
    需求:用户输入一个字符,判断是否为字母、数字或者其他字符
            并输入相应的提示信息
            a-z A-Z 0-9
    
        read -p "pree some key.then prees return :" KEY
        case $KEY in
        [a-z][A-Z])
        echo "it is a letter"
        ;;
        [0-9])
        echo "it is a digit"
        ;;
        *)
        echo "it is hkjhkjbmn,k"
        esac
    
    
    Crontab计划任务
    1、at --指定时间执行特定任务
        用法;at +时间
        at 1:23
        at> cp /etc/passwd /tmpz 执行任务
        先将系统时间调准确
            date -s +“时间”
        在某个时间点某一个时刻,想让系统完成一件事,就可以用at命令执行
    2、周期性任务
        crontab ---周期性执行任务
        用法:crontab [-u 用户][-l][]
        前提:开启服务器$ service crond status/start/stop
        查看系统的服务,是否开机启动#/$chkconfig -list
    
        NetworkManager  0:off   1:off   2:on    3:on    4:on    5:on    6:off
        数字代表启动级别
    
        以/etc/passwd为例:每周三的凌晨2点备份passwd文件
        第1列 第2列 第3列 第4列 第5列 
        分       时       日       月       周       cmd
        *       *       *       *       *       cmd标题
        0       2       *       *       3       cp /etc/passwd /tmp执行任务
        5       1       10,25   *       *       rm -rf /tmp/*每个月10号和25号凌晨1点5分执行删除命令
        */10    *       *       *       *       ntpdate 时间服务器,每10分钟执行一次
        0       1-6     *       *       *       mkdir 每天1-6点执行
    
        进入设置状态:#crontab -e
        编辑命令:*/1 * * * * date >> /tmp/date.log
        重启服务:$ service crond restart
        查看信息:$ tail -f /home/ibeifeng/bf-log.txt
    
  22. 特殊符号
    1、管道符号
    用竖线表示:|
    意思:将前面一个命令的输出结果传递给后面的命令处理
    示例:# cat /etc/passwd | more
    grep:表示过滤筛选的意思
    结合管道符号一起使用,筛选过滤关键字
    # cat /etc/passwd | grep ‘root’
    # cat /etc/passwd | head -3
    2、追加符号
    用>>符号表示,注意要用英文输入法输入
    注意,如果系统中追加文件不存在,则会自动创建
    # ifconfig | grep ’ inet6 addr:’ >> /eth0.log
    # head -3 /etc/passwd >> tmp.pass
    3、覆盖符号
    用>符号表示
    # ifconfig | grep ’ inet6 addr:’ > /eth0.log
    4、 wc命令
    统计,可以统计字符数,单词数,行数
    选项:-l行数,line
    示例:# wc -l /etc/passwd
    结合管道符号 wc连用:
    示例:# head -3 /etc/passwd | wc -l
    # ps -ef查看系统进程
    # ps -ef | wc -l
    5、man命令
    按空格翻页查看
    按:/选项 查找想要查看的指定信息
    按小写n继续查找
    按小写q退出浏览

  23. 磁盘分区与挂载
    # fdisk -l 查看系统所有设备的信息(硬盘)

        /dev/sda其中的sda表示系统中第一块硬盘
        sda1代表这块硬盘中的第一个分区。。以此类推
    
    Linux中通过文件来管理磁盘
        brw-rw----.  其中b代表块,block的意思 ,块的设备文件
        drw-rw----.  其中d代表目录,data的意思
            都是一个占位符
    
    
    cylinders:磁柱
    起始磁柱start和结束磁柱end的概念
    
    硬盘是有接口的:
        sata、sas一般用于服务器接口比较多
        scsi、idea  个人机器
    
    磁盘分区步骤:
        1、# fdisk /dev/sdb
        2、 n   add a new partition  按n
    
            e   extended   :扩展分区
            p   primary partition (1-4)  :主分区
    
    
        一般企业中使用2+1或者3+1模式分区
        2+1表示:2个主分区+1个扩展分区   一般会保留一个扩展分区
    
    扩展分区不能直接拿来使用,必须再进行一个逻辑分区
    
    # mkfs.ext4 /dev/sdb6
    
        mkfs代表格式化命令
        ext4代表Linux文件系统
    

    挂载磁盘:
    # mount /dev/sdb6 /mnt
    挂载点目录必须存在,否则挂载失败
    访问磁盘使用过挂载点,也就是它的唯一路口

    mount命令,代表挂载磁盘,但是是临时生效
    
    永久挂载需要写入配置文件:
    路径:/etc/fstab 严格按照格式填写
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值