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.syslog2 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 故,不要轻易使用,除非有安全漏洞