注意:Linux严格区分大小写
老男孩方法论经验之谈:
有一种方法叫做没方法
有两种方法,左右为难
有三种方法才叫有方法
停止一个命令:CTR + C
1、创建目录
英文:make directorys
命令:mkdir
实例:三种方式
mkdir /data
cd /
mkdir data
cd /;mkdir data
mkdir x y z 表示同时创建多个目录
mkdir -p /data/x/y 表示同时创建多级目录(递归创建),切记不可用mkdir /data/x/y
2、查看目录和文件
命令:ls (list)列表 列表目录文件
参数:
-l (long)长格式
-d (directory)查看目录
实例:
ls / 表示列出/(根)的所有目录和文件
ls 表示列出当前目录下的所有目录和文件
ls /data 表示列出data目录下的所有目录和文件
ls -l / 表示列出/(根)下所有目录和文件的详细信息
ls -d 表示列出目录(查看当前目录)
3、切换目录
英文:change directory
命令:cd
实例:
注意相对路径和绝对路径
cd / 表示切换到根目录
cd /etc 表示切换到etc目录
4、显示当前路径
英文:print work directory
命令:pwd
实例:
pwd 表示打印当前路径
5、创建文件或更新时间戳
如果文件存在,则只更新时间戳
如果文件不存在,则创建文件
命令:touch
实例:三种方式
touch /data/oldboy.txt 表示在data目录下创建oldboy.txt文件(如果文件已经存在,则不创建也不覆盖,但会改变文件的时间属性)
cd /data
touch oldboy.txt
cd /data;touch oldboy.txt
touch stu{1..10}.txt 表示连续创建多个文件,文件名为stu1.txt到stu10.txt
touch a.txt b.txt c.txt 表示同时创建多个文件
6、编辑和查看文件内容
命令一:vi
实例:
第一步:进入文件
vi oldboy.txt
第二步:进入编辑状态
i
第三步:按键esc退出编辑状态
第四步:保存编辑内容并退出文件
:wq 表示保存并退出文件
:q 表示退出文件,并不保存此次编辑内容
:q! 表示强制退出文件
命令二:echo
常配合一下两个参数符号
符号参数
> 输出重定向:把前面输出的东西输入到后面的文件中,会清楚文件原有内容
>> 追加重定向:把前面输出的东西追加到后面文件内容尾部,不会清除文件原有内容
0<或< 输入重定向:用于改变命令的输入,后面指定输入内容,前面跟文件名
0<<或<< 追加输入重定向:后跟字符串,用来表示“输入结束”,也可用ctrl+d来结束输入
2> 错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容
2>> 错误追加重定向:把错误信息追加到后面的文件中,不会删除文件原有内容
注意备份源文件
实例:
echo ‘I am study Linux‘ >oldboy.txt 表示,如果文件不存在,则创建文件并添加引号内内容,如果文件存在,引号内内容则会替换掉原有内容
echo "I love learning Linux" >>oldboy.txt 表示,如果文件不存在,则创建文件并添加引号内内容,如果文件存在,则会在原内容后面追加引号内内容
echo ‘
I
am
learning
Linux
now‘ >>oldboy.txt 表示追加多行内容
命令三:cat
查看和追加内容
实例:
cat oldboy.txt 表示查看内容
cat >>oldboy.txt<<EOF
I am learning Linux now !
Can you understand ?
EOF 表示追加EOF包裹的多行内容
命令四:vim
复杂编辑器
7、删除文件和目录
删除命令要慎重使用
删除前,一定要先做好备份工作
方法一:常用
命令:find
参数:-type
-type f 表示文件类型file
-type d 表示目录类型directory
-type c 表示字符类型charactor
-type b 表示块类型(磁盘)block
-name ‘文件名‘
-mtime +4 表示4天以前
-mtime 4 表示第4天
-mtime -4 表示最近4天
实例:
文件删除
方法一:
第一步:查找文件
find /data -type f -name ‘b.txt‘
第二步:执行删除操作
find /data -type f -name ‘b.txt‘ -exec rm {} \;
方法二:
单文件删除
第一步:查找文件
find -type f -name ‘a.txt‘
第二步:执行删除
find -type f -name ‘a.txt‘ |margs rm -f
批量删除
第一步:查找文件
find -type f
第二步:执行删除
find -type f |margs rm -f
目录删除
find /data -type d -name ‘*abc‘ -mtime +30 |xargs rm -fr 表示删除目录名以abc结尾的,修改日期为30天以前的目录,慎用。
删除空目录
remdir z 表示如果z为空目录则删除,否则不删除
方法二:慎用
英文:remove
命令:rm
参数:
-f (force)表示强制删除(慎重使用)
-r (recursive)表示递归,可用于删除目录
实例:
rm -f b.txt 表示彻底删除文件b.txt
rm -f -r b 表示彻底删除目录b
8、分组
命令:xargs
实例:
xargs -n 3 < b.txt 表示把b.txt里面的内容按3个内容段为一组分组(每个内容段中间用空格分开)
9、拷贝
英文:copy
命令:cp
实例:
cp oldboy.txt /tmp/ 表示把文件oldboy.txt拷贝到目录tmp下
cp -r /data /tmp 表示把data目录拷贝到tmp目录下
10、移动(剪切)
英文:move
命令:mv
实例:
mv /data /root 表示把data目录移动到root目录下
mv 1.txt x 表示把本级目录下的1.txt文件移动到本级目录下的x目录
11、过滤需要的内容
命令:grep
注意加-v和不加-v的区别
实例:
grep -v oldboy 1.txt 表示过滤掉文件1.txt中的oldboy内容,并把其他内容打印出来
grep oldboy 1.txt 表示只取oldboy内容,其他过滤掉
cat 1.txt | grep -v oldboy 同上,不过上面效率更高,一般不这样用(脱裤子放屁)
12、读取文件内容前N行,默认读前10行
命令:head
实例:
head -n 2 1.txt 表示读取文件前两行
head -a 1.txt 同上
head 1.txt 表示读文件前10行,不加数量默认为前10行
13、读取文件内容后N行,默认读取前10行
命令:tail
实例:
tail -n 3 1.txt 表示读取文件内容后3行
tail -3 1.txt 同上
tail 1.txt 表示默认读取文件内容后10行
14、创建序列
命令:seq
实例:
seq 20 > 1.txt 表示创建20行序列
15、别名
作用:
- 给危险命令加一些保护参数,防止人为误操作。
- 把很多复杂的字符串或命令变成一个简单的字符串或命令。
命令:
alias 查看和设置别名
unalias 取消别名
实例:
alias cp=‘cp -i‘ 表示用cp -i代替cp
unalias cp 表示把cp的别名取消掉
centos linux 因别名问题引起的麻烦及解决技巧
http://oldboy.blog.51cto.com/2561410/699046
16、序列
命令:seq a(起始值) b(步长) c(结束值)
实例:
seq 20 表示创建序列1-20
seq 10 20 表示创建序列10-20
seq 10 2 20 表示创建序列10-20切步长为2
17、流编辑器,实现对文件的增、删、改、替换、查
命令:sed stream
18、查看历史命令
命令:history
实例:
history 查看所有历史命令
history 20 查看最近的20条历史命令
history -c 清空当前历史命令