Linux命令的语法

  重要的快捷键:

     TAB    命令,路径补全

1.创建一个目录/data

命令语法: mkdir /data

2.cd 切换路径

命令语法:   cd /

  • 相对路径的概念:

     不从/开始,而是从当前目录开始。例如: data/,mnt/Markin

  • 绝对路径的概念:

     从/开始的目录,就叫绝对路径。例如:/data/,/mnt/Markin

3.在/data下面创建一个文件oldboy.txt

命令语法:  touch /data/oldboy.txt 

创建后可用ls命令查看是否创建成功。

假如就在data目录下就直接“touch oldboy.txt”即可 。也就是在当前目录直接创建

4.为oldboy.txt增加内容 “I am studying Linux!”

可以vi  vim 等编辑器  vi相当于Windous的记事本;vim则是一个高级的编辑器,如notepad++等。

命令语法:  vi oldboy.txt         vi通常在编辑大量的文本时候用

还可用echo打印命令:

                echo “I am studying Linux !”>oldboy.txt          替改覆盖

                                                         >>                       结尾追加

                  >是重定向。

5.cat不仅有查看内容,还有其他作用。

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

命令语法:  cp oldboy.txt /tmp/     默认拷贝文件

                                                 cp –a ,cp -r  则可以拷贝目录

                                                  -r是递归,复制目录

                                                  -a相当于 –pdr     -p保持属性

7.把/data目录移动到/root下

先退到/目录下:cd ..

再使用命令: mv /data /root/    mv还可移动文件

8.  pwd是查看当前用户所在的目录

9.  ls 是查看目录列表   

 

怎么查看命令的帮助:

man cp 可查看有关cp命令的help   也可以用cp --help

 

10.进入root目录下的data目录,删除oldboy.txt

命令语法: rm

rm=remove          

先进入data目录:cd /root/data/

再使用rm :  rm –f oldboy.txt     -f是强制删除,默认删除文件   

                 rm –fr data/          -fr是强制删除目录

      rmdir data/ 是专门删空目录的

   尽量不要使用rm这些目录,可以mv到一个临时的目录,相当于回收站

11.退出上级目录,删除data目录

    cd ..  退回到上级目录

12.已知文件test.txt 内容为:

test

liyao

oldboy

请给打印test.txt内容时,不包含oldboy字符串的命令。

cat >>test.txt<<EOF

test

liyao

oldboy

EOF

  • head     取头部的前N行,默认为前10行,

            取前3行   -n 3  简写为:head –3

   head –2 text.txt

 

  • grep   相当于过滤器,把想要的或者不想要的分离开。

grep “oldboy” text.txt             想要的

grep  -v“oldboy” text.txt          不需要的

                  -v  排除指定内容在打印出来

12.用一条命令完成创建目录/oldboy/text,即创建/oldboy目录及/oldboy/text目录

             mkdir –p /oldboy/txet   -p是递归创建        

 

13.已知/tmp目录下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt,而让Linux不提示是否覆盖(root权限下)

两种方法:

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

别名的概念:  键入cp ,通过别名作用,默认为cp –i

                   可以查看老男孩51cto的一篇关于别名的文章

键入alias可以查看别名

[root@Markin data]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

  • 别名可以取消

unalias cp    取消cp的别名

  • 添加别名:

alias cp=’cp –i’   添加cp的别名,使用cp命令时其默认操作 -i  

别名有意思的小实例:

  • 1.输入oldboy 可以直接打印“I am Oldoy Linux!”

[root@Markin data]# alias oldboy='echo I am Oldoy Linux!'        注意是单引号‘    echo要在单引号的范围内
[root@Markin data]# oldboy
I am Oldoy Linux!

  • 2.通过别名设置rm  使用rm时提示说“plase use mv”   迷惑哈哈!


[root@Markin data]# alias rm='echo "rm can not be used,Pls use mv"'
[root@Markin data]# rm
rm can not be used,Pls use mv
[root@Markin data]#

需要注意的是:用命令行定义的别名,只是临时生效,系统重启就会失效。

别名文件存放的位置:   修改则会重启后也生效

  • 针对root用户       /root/.bashrc      注意有“.”  这个指root用户的别名,
  • 所有用户都生效    /etc/bashrc 或者 /etc/profile     进去定义就行了

生效的命令 : source /etc/profile

 

~  代表用户的家目录     针对root,就代表/root

  当需要输入/root/data 是可以键入 ~/data

14.只查看ett.txt文件(100行)内第20到30行的内容

seq = swquence 序列

[root@Markin ~]# seq 12 15
12
13
14
15
[root@Markin ~]#

seq 1 2 10     打印1 2 3 5 7 9    (注意会换行输出)

seq 2 2 10     打印2 4 6 8 10       中间的数代表步长

seq –s “@” 5          则会打印1@2@3@4@5  -s指定分隔符

 

tail 尾巴   取文件的最后N行,默认最后10行,   比如取最后3行 :  tail –3

    -f  是跟踪一个文件尾部的实时变化

sed 命令:

[root@Markin ~]# sed -n '20,30p' ett.txt

awk 是一门语言,也可以过滤内容(取列),打印,删除

     awk ’{print $n}’ 文件         $1代表第一列 

[root@Markin ~]# cat awk.txt

ldboy    oldgirl
old      ggg
[root@Markin ~]# awk '{print $1}'          忘了键入文件名称
^[[A^[[A^H^H^H^H^H^H^H^C
[root@Markin ~]# awk '{print $1}' awk.txt       打印第一列

ldboy
old
[root@Markin ~]# awk '{print $2}' awk.txt       打印第一列

oldgirl
ggg
[root@Markin ~]#

   awk是以空格键默认为一列的

若要以其他字符为分割符,则可以 awk –F”其他字符”

[root@Markin ~]# awk -F":" '{print $1" "$2" "$3" "}' /etc/passwd

                          /etc/passwd   Linu的账号密码文件 该文件都是以:分割的

                          $1" "$2" "$3" "   相当于换了一种格式输出   3列打印

                          $NF  代表最后一列

                          $(NF-1)  代表最后第二例

 

sed   替换

sed ‘s#需要替换的内容#替换成什么内容#g’文件名

注意这样替换只是打印出来替换,而文件本身不会修改

sed –i  则会改变文件本身

s常说的查找并替换

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

#可以用其他符号代替  = @

 

 

 

 

tree /root/可以展示root的目录结构

    注意:刚使用时,会有乱码的情况,那是字符集的问题

    怎么调试: LANG=en

[root@Markin data]# LANG=en
[root@Markin data]# tree /root/
/root/
|-- anaconda-ks.cfg
|-- data
|   |-- test.txt
|   `-- text
|-- install.log
`-- install.log.syslog

2 directories, 4 files
[root@Markin data]#

安装系统补装命令:

安装系统后有一些基本的工具没装,这时可以请求yum来安装,啥时用啥时装即可。

yum install tree nmap sysstat lrzsz dos2unix -y

  -y 表示直接安装

yum install tree –y      安装tree

yum是Linux里的包管理软件,

Linux 里一般安装软件用 rpm     -r     -v     -h

                                           -ivh(安装,显示输出,以人类可读展示)

             rpm –ivh 包名.rpm    (软件包要提前下载好)

             rpm安装的最大问题:依赖问题不好解决

yum安装时则会,自动下载安装包,提前安装, 其实就是调用rpm安装,缺啥补啥

rpm –qa 是查看已安装全部包的信息

rpm –qa tree则是查看tree一个包的信息                 

yun updata 更新所有软件到最新版本

比如6.5 升级到了6.6  故,不要轻易使用,除非有安全漏洞

posted @ 2015-12-01 00:40  Markin  阅读(346)  评论(0)    收藏  举报