快捷搜索:

您的位置:澳门新葡4473网站 > 新闻社区 > www.4473.vipLinux命令【第一篇】

www.4473.vipLinux命令【第一篇】

发布时间:2019-12-25 05:05编辑:新闻社区浏览(137)

    第1章 阶段总计

     

    1.1 一、请详细描述linux系统从张开主机电源到跻身登入分界面整个进程的流水生产线。

    BIOS开机自检
    
    mbr引导
    
    grub菜单
    
    加载内核
    
    init进程
    
    /etc/inittab
    
    /etc/rc.d/rc.sysinit
    
    /etc/re.d/rc
    
    启动mingetty进程
    
    登录界面
    

    1、创设三个索引/data

    记得方法:希伯来语make directorys缩写后就是mkdir。

    命令:

    1. mkdir /data

    2. cd /;mkdir data

    3. #提醒:使用分号能够在大器晚成行内分割七个指令。

    实行进程:

    1. 方法一:

    2. [root@oldboy66 ~]# mkdir /data

    1. #查看data目录是不是成立成功,ls是list列表的乐趣,-ld是ls的常用参数,是长格式查看目录属性,l表示长格式,d表示目录
    1. [root@oldboy66 ~]# ls -ld /data
    1. drwxr-xr-x. 2 root root 4096 Nov 30 13:40 /data

    2.    

    3. 方法二:

    4. #除去方法后生可畏创制的目录

    5. [root@oldboy66 ~]# rm -r /data

    1. #输入y表示承认删除,y是yes的缩写
    1. rm: remove directory `/data'? y
    1. #跻身根目录/下

    2. [root@oldboy66 ~]# cd /

    3. #创建data目录,不带斜线/,因为已经进去了

    1. [root@oldboy66 /]# mkdir data
    1. #查阅data目录本人

    2. [root@oldboy66 /]# ls -ld data

    1. drwxr-xr-x. 2 root root 4096 Nov 30 13:44 data

    总结:

    cd后跟相对路线或许相对路线,表示步向目录,若是不跟别的事物,会进来当前顾客的家目录。

    相对路线概念:不从/开首,而是从当前目录开始,例如:data/,mnt/oldboy。

    相对路线概念:从/开首的目录,就叫绝对路线,举例:/data/,/mnt/oldboy。

    cd命令回忆方法:change directory。

    mkdir [-mp] [目录名称] 创设目录

        -m:那么些参数用来内定要开创目录的权位,可是少之甚少用,都会用chmod来拍卖。

        如:mkdir –m 777 /tmp/test,即创建二个权力为777的目录。

        -p:那个参数用来递归创造目录,mkdir的常用参数。

    1.2 二、作者想在/data/oldboyedu目录下边成立 三个oldboy.txt文件

    [root@oldboyedu ~]# cd /data/oldboyedu

    -bash: cd: /data/oldboyedu: No such file or directory

    1.怎么现身如此的乖谬

    这个目录不存在
    

    2.哪些化解这么些张冠李戴吗?

    创建目录
    
    给出命令:mkdir -p /data/oldboyedu
    

    2、在/data下边创设二个文书oldboy.txt

    命令:

    1. touch /data/oldboy.txt

    2. cd /data;touch oldboy.txt

    3. #创立文件也得以用echo等,只但是touch是标准的,也可用直接成立文件的一声令下,如vi,cat等。

    1. 例如:

    2. echo > /data/oldboy.txt

    3. > /data/oldboy.txt

    试行进程:

    1. 方法一:

    2. #在/data目录下创立oldboy.txt

    3. [root@oldboy66 data]# touch /data/oldboy.txt

    4. #翻开创设的oldboy.txt

    5. [root@oldboy66 data]# ls -l /data/oldboy.txt

    6. -rw-r--r--. 1 root root 0 Nov 30 14:04 /data/oldboy.txt

    7.    

    8. 方法二:

    9. [root@oldboy66 /]# cd /data

    10. #只要同名文件存在,不会唤起也不佳覆盖,会更新文件的时日戳

    1. [root@oldboy66 data]# touch oldboy.txt

    总结:

    touch"摸"。touch [文件名] 就是"摸"一下文件,假诺文件荒诞不经,就创造新文件,就算存在,就退换文件的拜望时间atime等时间戳音讯。

    路线分隔不一样:

    windows的目录分隔D:PIColdboy。

    linux的目录分隔/data/。

    1.3 三、接上题,向oldboy.txt插手内容 "I love studying Linux." (不菲于2种方式卡塔尔(قطر‎

    方法1

    vi或vim修改
    

    方法2

    echo ' I love studying Linux.' >/data/oldboyedu/oldboy.txt
    

    3、为oldboy.txt扩张内容为"I am studying linux"。

    方法生机勃勃:常规编排方法

    实施vi oldboy.txt步向vi编辑器(暗中认可命令方式),点击a或i踏向编辑格局,敲入内容I am studying linux,然后按钮盘上的esc键退出编辑方式(步入到命令形式),最终敲:wq保存并脱离。wq解释write quit。

    此格局求证:

    vi正是看似记事本相符的linux下的常用编辑器,假诺想效果更充裕能够用vim代替vi,vi/vim的里边有成千上万的命令能力点,举个例子i正是insert,步向插入编辑情势的场合包车型大巴乐趣,esc键是切换成命令格局,命令格局下得以敲冒号":"在末端才得以接命令参数,譬如wq,w是write,q是quit。

    vi 编辑器,也就是记事本,有编写制定作用,可是较弱。

    vim 复制编辑器,也就是emeditor,editplus,notepad++。

    急迅键:TAB 命令、路线补全。

    www.4473.vip 1

    情势二:单行或多行文本插入常用命令,内容都以存放到文件的尾巴。

    1. echo "I am studying linux" >>/data/oldboy.txt

    实践进程:

    1. #独特的编辑方法,通过echo命令使用单引号把引号的剧情通过>>追加到/data/oldboy.txt,注意:是充实不是覆盖
    1. [root@oldboy66 data]# echo "I am studying linux" >>/data/oldboy.txt

    2. #反省追加的结果

    3. [root@oldboy66 data]# cat oldboy.txt

    1. I am studying linux

    此法表明:

    echo是三个打印输出内容的贰个常用命令,同盟">或>>"可以为文件覆盖及扩展内容。">"意思为重定向,会去掉文件里有所原先数据,">>"为剧情充实,只在文书后面部分扩充要求的剧情,还应该有叁个较复杂一时用的近乎命令printf。

    特殊字符命令:

    >重定向,会去掉文件里有所原先的数据,扩大

    >>追加重定向,

    措施三:写脚本常用,追扩充行,内容都位居文件的尾巴部分。

    1. cat >>/data/oldboy.txt<<EOF
    1. I am studying linux

    2. EOF

    3. #潜心:结尾的EOF要顶格写,EOF也能够用别的字符替代,只若是黄金年代对就好。

    方法二、方法三为命令行或脚本中常使用的主意,都很珍视。

    方式二用以单行文本,方法三能够是多行文件,文本中大器晚成旦有特殊字符,如$等急需用转义才行。

    1. echo '

    2. 111

    3. 222

    4. 333

    5. '>>oldboy.txt

    方法四:

    1. [root@oldboy66 data]# cat >>/data/oldboy.txt

    2. I am studying linux

    按ctrl+d或ctrl+c组合键两次截止编辑。此措施为特别编辑方法。

    总结:

    echo是贰个打字与印刷输出内容的二个常用命令,合作">"或">>"可感到文件覆盖或增加内容。echo $PATH打字与印刷出PATH的值。

    重定向:意思是将"数据传到其余地点"。将某些命令试行后本应当出现在显示屏的数码,传输到别的地点,施行命令时,那一个命令恐怕会经过文件读入数据,经过管理现在,再将数据输出到显示屏。

    >或1> 输出重定向:把前边输出的东西输入到前边的公文中,会删除文件原有内容。

    >>或1>> 追加重定向:把前边输出的对象追加到后边的文书中,不会删除文件原有内容。

    <或<0 输入重定向:输入重定向用于转移命令的输入,前面钦定输入内容,后边跟文件名

    <<或<<0 追加输入重定向: 后跟字符串,用来表示"输入达成",也可以ctrl+d来了却输入。

    2> 错误重定向:把错误音信输入到背后的文书中,会去除文件原有内容。

    2>> 错误追加重定向:把错误音讯追加到前边的文本中,不会删除文件原有内容。

    专门的工作输入(stdin):代码为0,使用<或<<,数据流向从右向左。

    标准平常输出(stdout):代码为1,使用>或>>,数据流向从左向右。

    正式错误输出(stderr):代码为2,使用2>或2>>。

    箭头的来头正是数据流的样子。

    非常写法:

    1. echo oldboy 2>a.txt 1>b.txt
    1. #2>&1 正是把标准错误重定向到专门的工作输出

    2. echo oldboy &>log.txt

    3. #也能够用>&

    4. echo oldboy >log.txt 2>&1

     1.3.1 说说那一个特殊符号含义:   >  >>  2> 2>>   #(井号)  .(点)  ..(两个点)  ~  *  $  |

       转义字符 撬棍 脱掉马甲打回原形(或类似含义)
    
    >   重定向符号 先清空文件内容,然后追加内容(或类似含义)
    
    >>  追加重定向 追加到文件结尾(或类似含义)
    
    2>  错误输出重定向
    
    2>> 错误输出追加重定向
    
    #   井号 注释或root用户命令提示符或sed分隔符(sed 's###g')
    
    .   当前目录 或 正则任何一个字符 或 用于生效
    
    .   /etc/profile === source /etc/profile #这个可以不讲解
    
    ..  当前目录的上级目录
    
    ~   当前用户家目录或awk中表示匹配(awk '$1~/oldboy/' xxx)#这个可以不讲解
    
    *   所有字符或任意字符或正则表达式表示前一个字符连续出现0次或0次以上
    
    $   取变量内容 或 正则以...结尾
    
    |   管道 或 正则表示或者
    

    4、把oldboy.txt文件拷贝到/tmp下

    命令:

    1. cd /data

    2. cp oldboy.txt /tmp/

    3. 唤醒:加cp -a,cp,-p保持属性

    总结:

    cp [-aifpru] [源文件] [对象文件]

        -a:相当于-pdr

        -d:若源文件为链接文件(link file),则复制链接文件属性而非档案自身。

        -f:免强,若指标档案已经存在且不能拉开,则移除后再尝试。

        -i:若目的文件已经存在时,在覆盖时会先明白。

        -p:连同档案的属性一齐复制过去,而非使用默许属性。

        -r:递归,用于复制目录。

        -u:若目的文件存在,则目的文件比源文件旧时才复制。

    升迁:借使源文件是三个,那么指标文件在终极,且是目录。

    cp的主要参数apr。

    1.4 test.txt内容为:

    trainning

    fanbingbing

    lidao     

    5、把/data目录移动到/root下

    命令:

    1. mv /data /root/

    2. 提醒:假设指望带目录拷贝,尽量不要mv /data/ /root/,移动目录时,源目录结尾不要多余斜线。

    总结:

    mv [-ifu] [源文件/源目录] [目标文件/目标目录]

        -i:若是目标文件已存在,询问是还是不是覆盖

        -f:逼迫试行,不会明白

        -u:若指标文件存在,则比源文件新才会活动。

    提示:借使源文件是多少个,那么指标文件在结尾,且是目录。

    如:f1、f2是文件,/d1、/d2是目录

    mv f1 f2:借使f2不真实,则一定于f1重命名叫f2;假使f2留存,则f1重命名叫f2,并掩瞒f2 。

    mv f1 /d1:假诺/d1不设有,则把f1平移到/下,相提并论命名字为d1;如若/d1留存,则把f1运动到/d1下。

    mv /d1 /d2:要是/d2不设有,则把/d1重命名叫/d2;倘使/d2存在,则把/d1平移到/d2下。

    mv /d2 f1:假若f1不设有,则把/d2移动到当前目录,人己一视命名叫f1;要是f1留存,会唤起f1是个公文,无法用目录覆盖。

    1.4.1 四、请给出输出test.txt文件内容时,不含有trainning字符串的指令。

    方法1

    grep -v 'trainning' test.txt #不加引号也行
    

    方法2

    tail -2 test.txt
    

    方法3

    sed '/trainning/d' test.txt
    

    方法4

    awk '!/trainning/' test.txt
    

    方法5

    grep '^[^t]' test.txt 
    

    6、步向root目录下的data目录,删除oldboy.txt

    命令:

    1. cd /root/data/

    2. rm oldboy.txt

    删去叁个文书平时用rm oldboy.txt,此法会提醒您认可。用rm –f oldboy.txt方法不会唤起确认直接删除,比较危急。

    对于文本的删减禁绝用"rm –fr 文件名",这是杀鸡用牛刀的做法,必需禁绝掉,最多用"rm –f 文件名"。rm –fr 日常用来压迫删除目录不提示,特别危险。

    建议:

    利用mv代替rm,也便是把文件移动到/tmp下,然后等/tmp分区将在满时叁次性删除,收缩犯错。

    find删除

    1. [root@oldboy66 data]# find /root/data/ -type f -exec rm -f {} ;

    在剧本中去除文件或目录时临盆条件的选择格局日常为:

    1、和xargs搭配用法

    1. #除去15天从前的文件

    2. find . -type f -name "*.log" -mtime +15 |xargs rm -f

    1. #删除目录30天 慎用

    2. find . -type f -name "*.log" -mtime +30 |xargs rm -fr

    2、使用find的-exec

    1. #在/logs目录中探索改进时间在5日以前的文本并删除它们
    1. find /logs -type f -mtime "*.log" -mtime +5 -exec rm {} ;

    find命令的规律:

    www.4473.vip 2

    :特殊字符,让一个有极其含义的字符,脱掉马甲。

    .. :上级目录

    . :当前目录

    . :代表.号

    | :管道(把前一个命令结果的出口交给后二个主次开展三番两次管理)

    -type :按文件类型查找

    -name :按名字查找,查找的开始和结果最棒用双引号括起来。

    ! :取反。

    删除目录下除了oldboy.txt外的有所文件:

    1. [root@oldboy66 data]# find /root/data -type f ! -name "oldboy.txt" |xargs rm -f

    2. [root@oldboy66 data]# find /root/data/ -type f ! -name "oldboy.txt" -exec rm {} ;

    linux面试题:删除三个索引下有所文件,但保留贰个点名文件。

       

       

    1.5 五、入职新公司,老大令你在服务器上节制rm命令,当客商输入rm 命令时候提示”rm command is not allowed to use.” 请问完毕的步调是?。

    1)命令行测试
    
    alias rm='echo command is not allowd to use'
    
    2)永久生效
    
    写入/etc/profile
    
    3)生效
    
    source /etc/profile
    

    7、退出到上级目录,删除data目录。

    命令:

    1. cd ..或cd ../

    2. rm -r data或rmdir data

    3. #内部是空目录无需用-rf。

    总结:

    .. :相对路线,表示当前目录的上一流目录,举个例子:/mnt/oldboy,mnt就是oldboy的上级目录。

    . :相对路线,表示当前目录,即当前命令行的目录。

    rm [-irf] [文件/目录] 删除文件/目录

        -i:询问客户是或不是正确删除,用y或n来回答。

        -r:删除目录时加该采纳,删除目录及目录下的文件和目录。

        -f:压迫删除,不用确认。

    rmdir [-p] [目录名] 用来删除空目录,-p表示递归删除目录,目录里不可能有文件大概目录

    如:/a/b/c

    rmdir /a/b/c :会删除/a/b/c,而/a/b还在。

    rmdir –p /a/b/c :会删除/a,/a/b,/a/b/c。

    可是rmdir /a,rmdir –p /a/b都会出错,提醒:Directory not empty。

    1.6 六、抽取文件ett.txt 的第30到40行的内容。

    注:ett.txt由seq 20 120>ett.txt创建

    方法1

    sed -n '30,40p' ett.txt
    

    方法2

    awk 'NR==30,NR==40' ett.txt
    

    方法3

    head -40 ett.txt|tail -11
    

    方法4

    awk 'NR>=30&&NR<=40' ett.txt
    

    8、约束输出

    已知文件test.txt内容为:

    test

    liyao

    oldboy

    请给出打字与印刷test.txt内容时,不满含oldboy字符串的目录。

    方法一:

    head:尾部,取文件的前N行,默许前10行,收取前三行-3 。

    1. [root@oldboy66 ~]# head -2 test.txt

    方法二:

    grep:过滤器,把想要的要么不想要的分离开,-v消除。

    1. [root@oldboy66 ~]# grep -v "oldboy" test.txt

    唤醒:也能够使用cat test.txt|grep –v "oldboy",这么些命令固然能兑现,可是实践功能差比很多。

    方法三:

    sed:删除,d表示delete删除,p表示print打字与印刷,-n打消sed的暗中同意输出,-i改变文件内容。

        sed –n '/过滤的剧情/管理的命令' 文件

    1. [root@oldboy66 ~]# sed -e '/oldboy/d' test.txt

    2. [root@oldboy66 ~]# sed /oldboy/d test.txt

    3. [root@oldboy66 ~]# sed -e /^oldboy/d test.txt

    4. [root@oldboy66 ~]# sed -n /[^oldboy]/p test.txt

       

    方法四:

    awk:

    1. [root@oldboy66 ~]# awk /[^oldboy]/ test.txt

    1.7 七、

    经过改造文件( /etc/fstab或fstab 卡塔尔国,能够设定开机时自动挂载文件系统。

    9、用一条命令实现创制目录/oldboy/test,即开立/oldboy目录和/oldboy/test目录

    命令:

    1. mkdir -p /oldboy/test

    执行进程:

    1. #递归创制目录,平常第一级目录不设一时用-p,不然报错mkdir: cannot create directory `/oldboy/test': No such file or directory
    1. [root@oldboy66 /]# mkdir -p /oldboy/test

    设置系统补装工具命令:

    yum安装恐怕rpm安装、源代码安装

    改革补丁实践(临蓐条件尽量不做,除非有已知的安全漏洞):

    yum update

    安装tree:

    1. [root@oldbo [root@oldboy66 /]# yum install tree -y

    2. #查询tree

    3. [root@oldboy66 /]# rpm -qa tree

    1. tree-1.5.3-3.el6.x86_64

    2. [root@oldboy66 /]# tree oldboy/

    1. oldboy/

    2. └── test

    3.    

    4. 1 directory, 0 files

    tree:展现目录树布局

    yum:linux里的包微型机,yum能够协助缓慢解决信赖难题。

    举例说:yum install tree -y,效率下载tree包,然后调用rpm命令安装tree包,假设供给依附包,会自动下载并提早设置。

    rpm: -ivh(安装呈现输出)

    rpm –ivh 包名.rpm(提前下载好),rpm安装的最大标题是回天乏术缓和信赖难点。

    1.8 八、

    在linux系统中,当LAN(局域网)内尚未规范记案例DNS服务器,但又想让局域网内的客户能够使用微管理机名相互影响会见时,应配置( /etc/hosts)文件(请写全路径)

    10、已知/tmp目录下存在test.txt文件,怎么样实行命令本事把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而linux系统不晋升是还是不是覆盖(root权限下)。

    命令:

    方法一:

    /bin/cp /mnt/test.txt /tmp/test.txt

    方法二:

    cp /mnt/test.txt /tmp/test.txt

    提示:此题正是屏蔽掉系统暗中同意的料理命令外号,默认施行cp的操作是调用了小名的,所以提示覆盖。

    cp命令暗中认可是不会唤起overwrite,可是cp的-i选项会提醒,而日常Linux的顾客情形文件~/.bashrc中会把cp命名成alias cp='cp -i'。那样在Linux下输入cp命令实际上运维的是cp –i,加上多个""符号或许写cp全路径/bin/cp正是让此番的cp命令不采取外号(cp -i)运维。

    小名概念:

    输入alias查找当前别称。

    1. [root@oldboy66 /]# alias

    2. alias cp='cp -i'

    3. alias l.='ls -d .* --color=auto'

    1. alias ll='ls -l --color=auto'

    2. alias ls='ls --color=auto'

    3. alias mv='mv -i'

    4. alias rm='rm -i'

    5. alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

    收回外号设置:unalias(临时生效,重启失效)

    1. [root@oldboy66 /]# unalias cp
    1. [root@oldboy66 /]# alias

    2. alias l.='ls -d .* --color=auto'

    1. alias ll='ls -l --color=auto'

    2. alias ls='ls --color=auto'

    3. alias mv='mv -i'

    4. alias rm='rm -i'

    5. alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

    加多别称设置:

    1. [root@oldboy66 /]# alias cp='cp -i'
    1. [root@oldboy66 /]# alias

    2. alias cp='cp -i'

    3. alias l.='ls -d .* --color=auto'

    1. alias ll='ls -l --color=auto'

    2. alias ls='ls --color=auto'

    3. alias mv='mv -i'

    4. alias rm='rm -i'

    5. alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

    自定义别称oldboy:

    1. #设置oldboy为别名,执行echo I am oldboy linux

    2. [root@oldboy66 /]# alias oldboy="echo I am oldboy linux"

    1. #查看oldboy别名

    2. [root@oldboy66 /]# alias|grep oldboy

    1. alias oldboy='echo I am oldboy linux'
    1. [root@oldboy66 /]# oldboy

    2. I am oldboy linux

    3. #取消oldboy别名

    4. [root@oldboy66 /]# unalias oldboy

    1. [root@oldboy66 /]# alias|grep oldboy

    自定义rm:

    1. [root@oldboy66 /]# alias rm='echo "rm can not be used,pls use mv"'
    1. [root@oldboy66 /]# alias|grep rm
    1. alias rm='echo "rm can not be used,pls use mv"'
    1. [root@oldboy66 /]# rm -fr /root/oldboy/

    2. rm can not be used,pls use mv -fr /root/oldboy/

    方法三:

    unalias cp

    cp /mnt/test.txt /tmp/test.txt

    提示:命令行管理别称仅在及时收效,重启系统后失效。

    alias:查看以致定义小名

    unalias:撤销外号

    ~:客商的家目录,针对root,~就代表/root。

    别称的布署文件,针对root客商/root/.bashrc;全体客商生效,/etc/bashrc或/etc/profile定义,生效实践soure /etc/bashrc或/etc/profile。

    外号的服从:

    1、通过给危殆命令加黄金时代别爱慕参数,幸免人为误操作。

    2、把数不清长短不一的字符串或指令形成四个轻巧易行的字符串或指令。

    1.9 九、

    linux系统运营加载成功后,内核将运维名称为(init)的主次,这也是辅导进程实现后,内核运营的首先个程序。大家得以改革默许的启航等级为( 3),使得系统重启后自行接纳命令行情势登入。

    11、只查看ett.txt文件(100行)内第20到第30行的剧情。

    命令:

    sequence == seq序列

    1. #打印1到3

    2. [root@oldboy66 tmp]# seq 3

    3. 1

    4. 2

    5. 3

    6. #打印1到3

    7. [root@oldboy66 tmp]# seq 1 3

    8. 1

    9. 2

    10. 3

    11. 打印2到8

    12. [root@oldboy66 tmp]# seq 2 8

    13. 2

    14. 3

    15. 4

    16. 5

    17. 6

    18. 7

    19. 8

    20. #打印1到7的奇数

    21. [root@oldboy66 tmp]# seq 1 2 7

    1. 1

    2. 3

    3. 5

    4. 7

    5. #打印0到7的偶数

    6. [root@oldboy66 tmp]# seq 0 2 7

    1. 0

    2. 2

    3. 4

    4. 6

    Usage: seq [OPTION]... LAST

    or: seq [OPTION]... FIRST LAST

    or: seq [OPTION]... FIRST INCREMENT LAST

    -s:钦点种类的分割符

    1. [root@oldboy66 tmp]# seq -s "--" 5

    2. 1--2--3--4--5

    3. [root@oldboy66 tmp]# seq -s "@" 5

    4. 1@2@3@4@5

    生成ett文件,seq 100 >ett.txt。

    1. [root@oldboy66 tmp]# seq 100 >ett.txt

    方法一:

    tail:尾巴,抽取文件的尾声N行,暗许最终10行,取最后三行-n 3 。

        -f:追踪二个文本的尾巴部分实时变化(tail –f ett.txt)。

    1. [root@oldboy66 /]# head -30 ett.txt|tail -11

    2.    

    3. [root@oldboy66 /]# tail -81 ett.txt|head -11

    方法二:

    1. #效率高(首选)

    2. [root@oldboy66 tmp]# sed -n '20,30p' ett.txt

    3. [root@oldboy66 tmp]# sed -n 20,30p ett.txt

    取出第30行:

    1. [root@oldboy66 tmp]# sed -n '30p' ett.txt

    sed命令与选择:

    sed强大的功能,是由以下多样指令和甄选联合职业的结果。sed通过点名某意气风发地址来决定对哪些行来举行管理,若无一点名地方,sed暗许处理标准输入全部的行。地址的花样得以是数字,正则表明式,或三种组成。若是给出的是由逗号连接的七个地点,则意味着sed要管理的内容便是该四个地方之间的行。

    sed命令正是用来管理那叁个由位置钦点的输入行。

    命令

    功能

    a

    在当前匹配行的后面添加一行或多行文本内容

    c

    更改当前匹配行的文本,替换成新的文本,原文本行内容消失

    d

    删除当前模式空间所有的内容

    D

    删除当前模式空间内第一个n之前的内容

    i

    在当前匹配行之前插入一行或多行文本内容

    h

    把模式空间的内容复制到保持空间,并覆盖当前保持空间的内容

    H

    把模式空间的内容追加到保持空间,原保持空间的内容依旧存在(注意两行之间的n)

    x

    交换当前模式空间和当前保持空间的内容

    g

    与s联合使用时,表示对当前行全局匹配替换

    g

    取出当前保持空间的内容,并将其复制到模式空间,覆盖掉原模式空间的内容

    G

    取出当前保持空间的内容,并将其复制到模式空间,追加到原模式空间内容的后面(注意两行之间的n)

    p

    打印匹配行

    P

    打印当前模式空间内容,直到第一个换行符(n)为止

    n

    读取下一行内容,并复制到模式空间,取代原模式空间的内容

    N

    读取下一行内容,并复制到模式空间,追加到原模式空间内容的后面(注意两行之间的n)

    q

    第一个模式匹配完成后退出或立即退出

    r

    从另一个文件中读取文本,并加入到当前匹配行后面

    s

    常说的查找并替换,用一个字符串替换成另一个

    w

    将匹配的行写入新的文件

    y

    将字符转换为另一个字符(对正则表达式不能使用y命令)

    !

    对所选行以外的所有行进行相应处理

    =

    显示匹配内容行的行号

       

    sed选项:

    选项

    功能

    -e

    允许多项编辑

    -f

    后接sed脚本的文件名

    -n

    取消默认输出

    -i

    修改文件内容

       

    打印:

    sed –n '2p' oldboy.txt (打字与印刷第二行)

    sed –n '$p' oldboy.txt (打字与印刷最后大器晚成行)

    sed –n '1,3p' oldboy.txt (打印第1到3行)

    sed –n '/yass/'p oldboy.txt (打字与印刷相配yass的行)

    sed –n '4,/The/'p oldboy.txt (在第四行相配方式The,若相称,则打字与印刷)

    sed –n '/$/'p oldboy.txt (相称元字符$)

    sed –n '1,$'p oldboy.txt (打字与印刷整个文件,只需将推行范围设为第意气风发行到结尾风度翩翩行1,$,$意义最终生机勃勃行)

    sed –n '/.*ing/'p oldboy.txt (大肆字符,使用方式/.*ing/查询以ing结尾的任意单次)

    sed –n '/movie/=' oldboy.txt (打字与印刷相配行的行号)

    sed –n –e '/movie/p' –e '/movie/=' oldboy.txt (打字与印刷匹配行的剧情和行号)

    sed '=' oldboy.txt|tail -2 (彰显行数或最大行号)

    方法三:

    1. [root@oldboy66 tmp]# awk '{if(NR<31 && NR>19) print $1}' ett.txt

    2. [root@oldboy66 tmp]# awk '{if(NR<31 && NR>19) printf $1"n"}' ett.txt

    awk:一门语言,过滤内容(取列)

        awk '{print $1}' 文件 $1第一列,$2第二列

        awk –F "分隔符" '{print $1}' 文件 $1先是列,$2次之列,…,$(NF-1卡塔尔国(尾数第二列),$NF(最后一列)

    案例:awk默许分隔符空格

    1. [root@oldboy66 tmp]# cat awk.txt
    1. oldboy oldgirl

    2. ddd fff

    3. [root@oldboy66 tmp]# awk '{print $1}' awk.txt

    4. oldboy

    5. ddd

    6. [root@oldboy66 tmp]# awk '{print $2}' awk.txt

    7. oldgirl

    8. fff

    -F钦定分隔符:

    1. [root@oldboy66 tmp]# awk -F ":" '{print $1}' /etc/passwd

    钦命输出游之间的相间符:

    1. [root@oldboy66 tmp]# awk -F ":" '{print $1 " " $3 "==" $5}' /etc/passwd

    总结:

    head [-n] [文件名]:前边一直跟文件名,突显文件前10行。-n代表显示文件前n行。

    tail [-nf] [文件名]:后边一向跟文件名,彰显文件后10行。-n表示呈现文件后n行。

    方法四:

    1. [root@oldboy66 tmp]# cat ett.txt|grep 20 -A 10

    2. [root@oldboy66 tmp]# cat ett.txt|grep 30 -B 10

    3. [root@oldboy66 tmp]# cat ett.txt|grep 25 -C 5

    -A:除了出示相配的风流浪漫行之外,并呈现该行之后的num行。

    -B:除了出示相称的风流洒脱行之外,并出示该行从前的num行。

    -C:除了出示相称的现在之外,并展现该行前后各num行。

    1.10 十、说出上边多少个文件的成效

    /var/log/messages            系统默认日志(系统日志也行)
    
    /var/log/secure              系统安全日志或用户的登录情况
    
    /etc/hosts                   ip地址与主机名(域名)对应关系  或 用于解析主机名
    
    /etc/fstab                   开机自动挂载
    
    /var/spool/cron/root         定时任务配置文件
    
    /etc/rc.local                开机自启动配置
    

    12、解析图片服务日志,把日志(各种图片访谈次数*图片大小的总的数量)排行,取top10,也正是总括种种url的总访谈大小。

    评释:这么些职能能够用来IDC网址流量带宽极高,然后通过深入分析服务器日志哪些要素占用流量过大,进而扩充优化或裁剪该图形,压缩js等措施。

    1.11 十生机勃勃、计算/var/log下文件个数

    ls /var/log|wc -l
    
    
    find /var/log|wc -l
    

    13、把/oldboy目录及其子目录下全体以扩张名.sh结尾的文件中包括./hostlists.txt的字符串全体交替为./idctest_iplist。

    命令:

    1. [root@oldboy66 tmp]# find ./ -name "*.sh" -type f -exec sed -i 's#./hostlists.txt#./idctest_iplist#g' {} ;

    解析:

    sed替换:

    sed –i 's#oldboy#oldgirl#g' a.txt

        s:查找并替换,用三个字符串替换到另三个。

        g:与s联合使用时,表示对当下行全局相配替换。

        -i:修正文件内容。

        #:分隔符,也足以用/、@等替换。

    find查找:

    find / -type f –name "a.txt"

    组合:

    更换当前目录上面全数文件名叫test.txt中的oldboy为oldgirl。

    1. [root@oldboy66 tmp]# find ./ -name "test.txt" -type f|xargs sed -i 's#oldboy#oldgirl#g'

    2. [root@oldboy66 tmp]# find ./ -name "test.txt" -type f -exec sed -i 's#oldboy#oldgirl#g' {} ;

    3. [root@oldboy66 tmp]# sed -i 's#oldboy#oldgirl#g' `find ./ -name "test.txt" -type f`

    查看:

    1. [root@oldboy66 tmp]# find ./ -name "test.txt" -type f|xargs cat
    1. [root@oldboy66 tmp]# find ./ -name "test.txt" -type f -exec cat {} ;

    2. [root@oldboy66 tmp]# cat `find ./ -name "test.txt" -type f`

    特殊字符总计:

    符号

    作用

    >

    输出重定向符,重定向内容到文件,清除已有的内容,然后加入新内容,如果文件不存在还会创建文件

    >>

    追加输出重定向符,>>追加内容到文件(中间无空格)

    <

    输入重定向(箭头朝向就是数据流的方向)

    <<

    追加输入重定向

    |

    管道,就像一个真实管道一样,例如:水管左边进水,右边流出来。其他的功能,egrep "3306|1521" /etc/services

    转义字符,让有意义的字符脱掉它代表的意义。例如:正则里$表示以什么结尾,用$表示$符号本身。

    ~

    当前用户的家目录

    .或./

    一个点号是当前目录,其他功能,正则,任意单个字符

    ..或../

    两个点号是当前目录的上级目录

    /

    根目录,即linux里所有目录的顶点。也是路径分隔符,而windows里则为D:工作目录

    ;

    命令分隔符

    {}

    生成字符或数字序列(seq),一般配合echo等命令使用,find里的{}意思是前面命令的结果,mkdir stu{1..100}

    !

    1、!+字母,表示调出最近一次以此字母开头的命令;2、!!表示使用最近一次操作的命令;3、!+数字,表示调出历史的第几条命令。

    -

    用户上一次所在的目录。-由OLDPWD变量控制。

       

    常用火速键:

    tab命令或路径补全键,固然。

    ctrl+c终止当前职责命令或程序。

    ctrl+d退出当前客户景况。相当于exit、logout。

    ctrl+l清屏。

    ctrl+shift+c(ctrl+insert)ssh顾客端SecureCRT里复制的命令。

    ctrl+a:到开头

    ctrl+e:到结尾

    ctrl+u:剪切光标前

    ctrl+k:删除光标后

    1.12 十二、描述buffer和cache的区别

    写buffer读cache
    

    1.13 十三、

    怎么把/data目录下全部蕴含oldboy的目录(可能目录的目录的目录里还可能有oldboy目录) 目录都卷入出来。须求:解压打包后的目录构造无法改换 。

    方法1

    find /data -type d -name "oldboy" |xargs tar zcf  /tmp/oldboy.tar.gz
    

    方法2

    find /data -type d -name "oldboy" -exec tar zcf  /tmp/oldboy.tar.gz {} ;
    

    方法3

    tar zcf  /tmp/oldboy.tar.gz  `find /data -type d -name "oldboy"`
    
    tar zcf  /tmp/oldboy.tar.gz  $(find /data -type d -name "oldboy")
    

    1.14 十五、请列出linux上面常用的包装工具并写出相应的回分解压参数。

    tar zcf                      创建压缩包 或zcvf
    
    xf                           解压  或 zxvf
    
    tf                           查看  或 ztf
    
    -C                           解压到指定目录
    
    --exclude                    排除
    
    --exclude-from或-X           根据文件内容排除文件
    
    zip -r                       压缩目录
    

    1.15 十三、怎么样查看是不是开启22端口,及查看sshd进度是不是存在?

    查阅端口22是否展开

    ss -lntup |grep 22
    
    netstat -lntup|grep 22
    
    telnet ip地址 22
    
    nc  ip地址 22
    
    nmap -p22  ip地址
    
    lsof -i:22
    

    翻开进度是或不是存在

    ps -ef |grep sshd
    

    1.16 十八、将/data目录下的改正时间是7天此前,况兼超过100k的公文复制到/tmp目录下。

    方法1

    find /data -type f  -mtime +7 -size +100k  -exec cp {} /tmp  ;
    

    方法2

    cp ` find /data -type f  -mtime +7 -size +100k ` /tmp
    
    cp $( find /data -type f  -mtime +7 -size +100k ) /tmp
    

    方法3

    find /data -type f  -mtime +7 -size +100k |xargs cp -t /tmp
    

    方法4

    find /data -type f  -mtime +7 -size +100k |xargs -i cp {} /tmp
    

    1.17 十三、现将文件b.txt中的全数123替换到def,请问怎么着落到实处?

    sed 's#123#def#g' b.txt
    

    1.18 十一、写出redhat中,配置网卡及dns的配置文件是怎么?

    网卡: /etc/sysconfig/network-scripts/ifcfg-eth0
    
    DNS:  /etc/resolv.conf  
    

    1.19 十四、什么是linux的周转品级,请描述linux的运维等第差别数字的意义?

    Linux的周转等第正是linux运市场价格况

    0 关机
    
    1 单用户模式
    
    2 多用户模式没有NFS
    
    3 命令行模式 文本模式 多用户模式
    
    4 没有使用
    
    5 图形化界面模式  桌面模式
    
    6 重启
    

    1.20 七十、简述linux不能上网的排查流程 ;

    1.ping baidu.com 检查是不是能上网

    2.ping 223.5.5.5  检查是或不是DNS难点

    3.ping 网关     检查是或不是配备或别的标题

     

    故障原因:

    1.检查布署文件

    2.虚构互连网编辑器

    3.vmware服务

    4.vmware虚构网卡难题

    1.21 四十后生可畏、软连接与硬链接区别

    【硬连接】
    硬连接指通过索引节点来进展连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是何许项目都给它分配一个编号,称为索引节点号(Inode Index卡塔尔(قطر‎。在Linux中,多少个文件名指向同一索引节点是存在的。日常这种连接正是硬连接。硬连接的效应是同意二个文本具有八个有效路线名,这样顾客就能够创建硬连接到主要文件,以卫戍“误删”的意义。其原因如上所述,因为对相应目录的索引节点有三个以上的一而再。只删除叁个连接并不影响索引节点自个儿和别的的连天,独有当最终一个一连被剔除后,文件的数据块及目录的连年才会被释放。也正是说,文件真正删除的口径是与之有关的有所硬连接文件均被删除。

    【软连接】
    除此以外后生可畏种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有相符于Windows的快速情势。它实乃八个例外的文件。在符号连接中,文件实际上是壹个文件文件,此中蕴涵的有另一文件的岗位音信。

    1.22 四十七、删除/etc/inittab中的空行或以#发端的行;

    方法1

    egrep -v '^$|^#'  /etc/inittab 
    

    方法2

    sed -r '/^$|^#/d' /etc/inittab
    

    方法3

    awk '!/^$|^#/' /etc/inittab
    

    1.23 二十三、显示/etc/passwd中第1,3,5列

    awk -F ":" '{print $1,$3,$5}' /etc/passwd
    

    1.24 五十七、写出您熟识的8个VIM的神速键

    移动光标
    
            ↑k
    
    ←h    →l
    
        ↓j
    
    
    
    把光标移动到文件的第1行
    
    gg
    
    1G
    
    :1
    
    
    
    把光标移动到文件的最后一行
    
    G
    
    :$
    
    
    
    把光标移动到文件的第100行
    
    100gg
    
    100G
    
    :100
    
    
    
    0(数字0)
    
    ^
    
    把光标移动到这一行的结尾
    
    $
    
    测试文件
    
    cat /etc/services  /etc/sysconfig/network-scripts/ifcfg-eth0 >>/tmp/vim.log
    
    编辑(移动并编辑)
    
    在当行下面插入一个空行并进入编辑模式
    
    o(小写字母o)
    
    
    
    在当行上面插入一个空行并进入编辑模式
    
    O(大写字母O)
    
    
    
    删除光标所在位置到行尾的内容并进入编辑模式
    
    C(大写字母C)
    
    
    
    删除光标所在位置到行尾的内容
    
    D  d$
    
    
    
    快速到达行尾并进入编辑模式
    
    A
    
    复制 删除 粘贴
    
    复制光标所在行
    
    yy
    
    
    
    粘贴
    
    p
    
    
    
    多次粘贴
    
    3p
    
    
    
    删除/剪切
    
    dd
    
    
    
    删除当前行到文件结尾的内容
    
    dG
    
    
    
    其他
    
    显示行号
    
    :set nu
    
    
    
    取消显示行号
    
    :set nonu
    
    查找
    
    /你要找的内容
    
    默认向下搜索
    
    继续向下查找
    
    n
    
    
    
    继续向上查找
    
    N
    
    
    
    你要找的内容
    
    默认向上搜索
    
    撤销当前操作
    
    u
    
    undo
    
    
    
    恢复刚才的操作
    
    ctrl + r
    
    
    
    vim查询帮助
    
    :help  G
    
    :help  :wq
    
    :h G
    
    nu===number
    

     

    1.25 四十七、创造文件提醒no space left on device 不过df -h还应该有空间那是如何原因?怎么着每种考察和消除。

    inode满了

    寻觅系统中高于1M的目录,确认后再删除

    1.26 四十八、通过df -h开掘磁盘空间不足不过du -sh开掘并未满,说出原因和排查解决进程。

    原因:

    文件并未有到头剔除导致的(硬链接数为0,进度调用数不为零)

    排查:

    lsof |grep delete

    解决:

    重启对应的服务

    1.27 七十三、显示当前系统日期为年月日~周几~时辰

    data +%F_%w_%H_%M_%S
    

    1.28 七十三、当前目录/etc/rc.d目录 cd ../../../tmp 请问当前所在目录是哪个地方

    /tmp

    1.29 四十一、查寻觅系统中胜出50k且小于100k的公文,把公文中的oldboy替换为oldgirl。

    find -type -size +50k -size -100k |xargssed -i ‘s#oldboy#oldgirl#g‘
    

    1.30 三十、把/etc/hosts 文件备份为hosts.bak

    cp /etc/hosts /etc/hosts.bak
    

    1.31 三十一、把/oldboy 改名为/lidao

    mv /oldboy lidao
    

    1.32 三十五、展现/etc/services 文件中含有3306或1521的行(三种格局)

    1.32.1 方法一:grep -n

    grep -n "3306|1521" /etc/services
    

    1.32.2 方法二:egrep -n

    egrep -n "3306|1521" /etc/services
    
    grep -E "3306|1521" /etc/services
    

    1.33 八十一、怎么着设置grep别称,让grep暗中认可过滤时永世展现颜色

    alias grep=’grep --color’
    
    把这句同时写进/root/.bashrc里面,并且执行一下source /root/.bashrc
    

    1.34 七十五、查找/oldboy 目录下的具有文件结尾为*.txt的文书,并将文件内容输出。

    方法1:

    cat /oldboy/*.txt
    

    方法2:

    find /oldboy -type f -name “*.txt” | xargs cat
    

    方法3:

    find /oldboy/ -type f -name "*.txt" -exec cat {} ;
    

    1.35 六十一、描述通配符与正则表明式的区分

    多数解释正是通配符是系统命令使用,常常用来协作文件名或许什么的用在系统命令中。而正则表达式是操作字符串,以行尾单位来相配字符串使用的。
    再有少数急需小心的是:*在通配符和正则表达式中有其区别等的地点,在通配符中*能够同盟大肆的0个或多个字符,而在正则表明式中他是双重以前的叁个或许五个字符,无法独立运用的。比方通配符能够用*来匹配大肆字符,而正则表明式不行,他只相配猖獗长度的日前的字符。

    1.36 二十九、使用ifconfig  eth0 命令查看IP地址,请写出抽取IP地址的方法,最少使用三种办法

    方法1:

    ifconfig eth0 | grep “10.0.0” | awk -F “:” ‘{print $2}’ | awk -F “ ” ‘{print $1}’
    

    方法2:

    ifconfig eth0 |awk 'NR==2' |awk -F"addr:|Bcast:"  '{print $2}'
    

    1.37 七十二、使用grep过滤不富含oldboy字符串的行

    grep -v “oldboy”
    

    1.38 七十、已知/oldboy/test.txt 文件内容为:

     oldboy

     

     xizi

     xiaochao

    试问怎么把文件中的空格过滤掉(供给命令行完结)。

    egrep -v “^$” /oldboy/test.txt
    

    第2章 错误总括

    2.1 No such file or directory

    从未此文件或目录

    2.2 command not found

    找不到此命令

    2.3 rm: cannot remove `/oldboy/data/': Is a directory

    要删减的是个非空目录

    2.4 find: Arguments to -type should contain only one letter

    追寻:-type的参数应该只包蕴一个字母

    2.5 Firewall is not running.

    防火墙没运维

    2.6 ping: unknown host baidu.com

    网不通

    不解主机baidu.com

    2.7 Package tree-1.5.3-3.el6.x86_64 already installed and latest version

    设置了那个软件最新版本的包

    2.8 Couldn't resolve host www.oldboyedu.com

    DNS不可达

    没辙分析主机www.oldboyedu.com

    2.9 This account is currently not available

    该帐户近来不可用

    2.10 Sorry, passwords do not match

    抱歉,密码不合营

     

    本文由澳门新葡4473网站发布于新闻社区,转载请注明出处:www.4473.vipLinux命令【第一篇】

    关键词:

上一篇:Linux 基础教程 33-硬盘分区及挂载

下一篇:没有了