linux下一些注意事项
1. linux下严格区分大小写
ls
简述:列出文件或目录列表。
-> ls 默认列出当前目录下的所有文件。
-> ls -l(long)以长格式查看文件。
-> ls -d(directorys)查看目录。
-> ls -F:给不同文件的结尾加标识。例如目录结尾会加"/"
-> ls -p:只给目录结尾加标识"/"
-> ls -a:显示所有文件,包括隐藏文件,默认点开头的文件是隐藏文件
-> ls -r:倒排序
-> ls -t:按修改时间排序,一般rt结合,查看最近被修改的文件。
-> \ls --color=auto:显示颜色,默认已经设置到别名里
-> ls -i /data/:显示inode,文件索引
-> ls -lh /data/:h参数表示人类可读,会将文件大小换成k、M等易读方式
-> ls -l --time-style=long-iso /data:规范时间显示(2016-03-04)
mkdir
简述:创建目录。
-> mkdir /data 在根目录下创建data目录
-> mkdir -p /aa/bb/cc:递归创建目录
cd
简述:切换目录
-> cd /etc 从当前目录切换到/etc路径下
pwd
简述:打印工作目录。
-> pwd (print work directory) 显示当前所在路径
-> echo $PWD:可以看到这个变量的值
touch
简述:不存在就创建文件,存在则更新文件时间戳信息。
-> touch /data.txt 直接在/目录下创建data.txt文件。
-> cd /; touch data.txt 切换到/目录下,创建data.txt文件
vi/vim
简述:vi编辑器。
-> vi /data.txt 打开data文件,打开默认为命令模式不可编辑。
点击a或i进入插入状态,点击Esc退出编辑状态进入命令状态。
命令状态按:wq保存退出。(wq为write quit)
-> dd:直接删除一行
-> /set nu:显示行号
-> set nonu:不显示行号
-> G或]]或:$ :光标移动到文件的最后一行
-> gg或[[或:0 :光标移动到文件的第一行
-> 0或^或home键:从光标位置移动到当前行的开头
-> $或end键:从光标位置移动到当前行的结尾
-> u:取消上一次的动作
-> /:向下搜索,继续搜索按n,反向搜索按N
-> ?:向上搜索,继续搜索按n,反向搜索按N
echo
简述:打印。
-> echo ‘I like linux’ 打印后边的字符串
-> echo -n "abc"; echo "456":不换行输出
-> echo -e "123\t456":加特殊符号,比如制表符\t,换行\n等
cat
简述:查看文件内容。
-> cat /data.txt 查看data.txt文件中的内容
-> cat >>/test/test.txt<<EOF
I like Linux.
You like linux too.
EOF
此用法即可>>和<<,可以追加多行内容,内容用EOF包裹,EOF可以用任意重复字符替代,但内容中不存在此重复字符即可。
此方法也会自动创建文件。
-> cat -n /data.txt:显示行号
-> cat test{1,2}.txt >/tmp/aa.txt:将test1.txt和test2.txt文件内容合并到aa.txt里面
-> cat -T test.txt:区分tab键和空格,tab键会被^I替代
-> cat -E test.txt:会在行尾加$符号,空行也会有
tac
简述:和cat相反,倒序读取文件。最后一行先输出,然后倒数第二行……
rev
简述:每行倒读
-> echo 1234|rev:输出是4321
nl
简述:显示行号
-> nl /data.txt:显示行号
cp
简述:拷贝命令,可以拷贝文件或目录。
-> cp /data/aa.txt /test/ :将/data/aa.txt文件拷贝到/test/目录下。
-> cp –r /data /test/ :将/data目录递归拷贝到/test/下面。
-> cp –a /data /test/ :-a参数相当于-pdr
-p:连同档案属性一块拷贝,而非默认属性。
-d: 若原文件为链接文件,则复制链接文件属性而非档案本身
rm
简述:删除命令,remove。删除动作很严重,少用。一般结合find删除。
-> rm /test/aa.txt :删除/test/aa.txt文件。 不加参数会提示确认删除。
-> rm –f /test/aa.txt :强制删除,不会出提示。
-> rm –r /test :删除目录,目录下若有文件,则每个文件都会提示,可以加f参数
重定向(> />>/<<)
简述:标准输出/输入,结合echo会创建文件覆盖文件内容或追加内容。
-> echo ‘I like linux’>/data.txt 如果data.txt不存在则创建 并把内容输入进文件。如果文件存在则覆盖内容。
-> echo ‘I like linux’>>/data.txt 追加内容到文件尾部。
-> echo ‘aa
bb
cc’>>/data.txt 追加多行内容。
-> cat >>/data.txt<<EOF
I like linux
you like linux
EOF :此用法结合了cat和>>和<<,可以追加多行内容,内容用EOF包裹,EOF可以用任意重复字符替换,只要内容不存在就可以。文件不存在会自动创建文件
重定向概念
-> >或1> 输出重定向:把前面输出的东西输入到后边的文件中,会清除文件原有内容。
-> >>或1> 追加重定向:把前面输出的东西追加到后边的文件尾部,不会清除文件原有内容。
-> 0<或<< 输入重定向:输入重定向用于改变命令的输入,后面指定输入内容,前面跟文件名。
-> 2> 错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容。
-> 2>> 错误追加重定向:把错误信息追加到后边的文件中,不会删除文件原有内容。
箭头的指向就是数据的流向。
数字0表示标准输入(stdin),默认可以不用写。
数字1表示正常输出(stdout)。
数字2表示标准错误输出(stderr)
-> echo 1 2 3 4 >/data.txt
xargs –n 2 </data.txt 其中2表示两个一组。输出如下:
1 2
3 4
-> echo girl >a.txt 2>a.txt 将正确或者错误信息都输入到 a.txt。
echo girl >a.txt 2>&1 和上面的意思一样,不同的写法,这个常用。
echo girl &>a.txt 和上面意思一样,正确和错误信息都放入a.txt
man
简述:查看命令的帮助信息。
-> man mv:查看mv命令的帮助信息
xargs
简述:从标准输入获取内容创建和执行命令。
-n 接数字相当于分组。
-> echo 1 2 3 4 >/data.txt
xargs –n 2 </data.txt 其中2表示两个一组。输出如下:
1 2
3 4
find
简述:顾名思义。
-> find /data –type f –name “test.txt” –exec rm {} \;
先找到/data下面名字叫test.txt的文件,然后执行删除操作。
-> find /data –type f –name “test.txt” |xargs rm -f: 用管道和xargs进行删除。
用xargs的目的是将找到的内容变为1行。
-type :文件类型 f(file),d(directory),c(character),b(block)s(sockey),l(link)
-name :文件名称。
-mtime :参考考试题,删除7天之前的文件