相对路径:相当于当前路径的定位 ./oldboy.txt ../data/oldboy.txt

绝对路径:从/开始的路径


=========================================

mkdir (make directorys) 创建目录

-p:递归创建目录

例:mkdir /data 根下创建data目录


ls (list) 列表目录文件

-l(long) 长格式

-d(directorys) 查看目录

例:ls /data 查看跟目录下data目录的所有文件


cd (change directory) 更改目录路径

例:cd /etc


pwd (print work directory) 显示当前所在路径


touch 创建文件或更改文件时间戳,文件不存在则创建文件,文件存在则更改文件的访问时间atime等时间戳信息


vi 相当于win记事本,比较简单

例:vi xx.txt


vim 复杂编辑器,写shell/python脚本


echo 打印输出,可配合>或>>使用

例:

echo 'I am study linux'

echo '1111

 2222

 3333' >> oldboy.txt


cat 查看文件

例:

cat oldboy.txt

cat >> /data/oldboy.txt <<EOF

I am study linux.

EOF


xargs 从标准输入(stdin)中读取数据进行处理

-n 数字:以数字分组

例:

echo '1 2 3 4'|xargs -n 2

1 2

3 4


cp 拷贝文件或目录,默认不能拷贝目录,如文件存在则提示是否覆盖

-r:递归拷贝,目录 *

-a:相当于-pdr *

-p:保持属性 *

-i:文件存在时,覆盖时询问

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

-f:强制

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

/bin/cp 写命令全路径,不提示覆盖

例:

cp oldboy.txt /tmp/

cp /data /tmp/

cp -r data/ /


mv (move) 移动文件或目录,剪切

注:mv /data /root/ 不要写/data/的形式


rm (remove)删除,默认会提示是否删除

-f:强制删除

-r:递归删除,删目录

注:删除前先备份


find 查找

-type:文件类型 f d c b s 

-name:文件名称

-exec:

-mtime:修改时间

+7:7天以前

7:第7天

-7:最近7天

例:

find /data/ -type f -name 'oldboy.txt' -exec rm {} \;


注:删除使用该方法,条件匹配精准


man 查看帮助文档


rmdir 删除空目录

例:rmdir -p /a/b 提示“Directory not empty”


head 输出文件前面n行,默认n=10

-n:行数(n可以省略)

例:head -2 test.txt


tail 输出文件后面n行,默认n=10

-n:行数

例:tail -2 test.txt


yun 安装软件

-y:不提示确认安装信息

update 更新补丁

install 安装 

yum install lrzsz telnet tree nmap nc -y


alias 查看命令别名

作用:

1、增加保护防止误操作

2、给复杂命令包装成简单字符串或命令

unalias 取消别名(不推荐)

例:

alias rm='echo this command does not allow to use.'

alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'

/etc/profile 全局生效

~/.bashrc 当前用户生效

source ~/.bashrc 修改后重新生效


seq (sequence) 序列

例:

seq 10 输出1~10的数

seq 5 10 输出从5开始到10的数

seq 1 2 10 输出从1开始间隔2个数,到10的数




awk 

NR:行号

例:

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

awk '{if(NR>19 && NR<=30) printf $0"\n"}' ett.txt


sed (strean editor) 流编辑器,实现对文件的增删改查

-n:取消默认输出,默认输出所有行

p:打印

例:sed -n '20,30'p ett.txt


grep 过滤内容

-v:排除,不包含

-A #:匹配当前行,且显示之后的 # 行数据

-C #:匹配当前行,且显示前后的 # 行数据

-B #:匹配当前行,且显示之前的 # 行数据

例:

grep -v oldboy test.txt

cat test.txt |grep -v oldboy (不专业,不推荐)

注:几乎所有的命令都能直接跟数据源

grep 20 -A 5 ett.txt 

20

21

22

23

24

25


LANG=en 设置字符集

linux 严格区分大小写



=========================================

特殊符号:

1>或> 输出重定向:把前面输出的东西输入到后面的文件中,会清除文件已有内容

例:

echo 'I am study linux' > oldboy.txt

> oldboy.txt 相当于清除该文件内容


1>>或>> 追加输出重定向:把前面输出的东西追加到后面的文件尾部,不会覆盖

例:echo 'I am study linux' >> oldboy.txt

注:echo原本要输出到屏幕的内容,重定向到文件中


0<或< 输入重定向

例:

xargs -n 2 < oldboy.txt

1 2

3 4

注:将文件内容'1 2 3 4'输入给xargs命令进行处理


tr ' ' '\n' < oldboy.txt

1

2

3

4

注:将oldboy.txt内容交给tr处理,空格替换成换行


cat 0< oldboy.txt


0<<或<< 追加输入重定向

例:cat >> /data/oldboy.txt <<EOF

I am study linux.

EOF

注:cat查看的内容重定向到oldboy.txt文件中,查看的具体内容在<<EOF....EOX中定义


2>错误重定向:错误信息输入到后面的文件中,会清除文件原有内容

2>>错误追加重定向:错误追信息加到后边的文件中,不会清除文件原有内容


标准输入(stdin)代码0,< << 数据流向从右到左

标准正常输出(stdout)代码1,> >> 数据流向从左向右

标准错误输出(stderr)代码2,2> 2>>

例:

echo oldboy 1>a.txt 2>a.txt

echo oldboy >a.txt 2>&1(推荐)正确信息输出到a.txt中,错误与标准正常输出一样&1

echo oldboy &>a.txt

注:均为将错误和正确内容都输入到a.txt中


箭头的指向就是数据的流向


| 管道符,用于命令间的连接,前面命令的结果作为后面命令的参数

. 当前目录

.. 上一级目录

\ 屏蔽命令别名

$ 结尾

&& 逻辑与

|| 逻辑或

== 相当

= 赋值


视频该学习 69