相对路径:相当于当前路径的定位 ./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