Linux常用命令记录(du、find、grep、hadoop/hdfs、sed、tar、tr)

Linux常用命令

查询格式

语句1|语句2|语句3 :对语句1的输出结果进行语句2的判定,然后对输出结果进行语句3的判定。如:
cat a.txt |head -10|wc -l
'cat a.txt'输出文件a.txt全文;
'head -10'输出上一步输出结果的前十行,即a.txt全文的前十行;
'wc -l'统计上一步输出结果总行数,即 10

hadoop/hdfs

多数类似于普通命令行,在前面加上 hadoop dfs - 即可

hadoop fs(常用) 或者 hdfs dfs(只用于hdfs文件系统)
hadoop fs –help ls 查看某个[ls]命令的帮助文档
hadoop fs -ls / 查询/目录下的所有文件和文件夹
hadoop fs -ls -R / 以递归的方式查询/目录下的所有文件
hadoop fs -mkdir /test 创建test文件夹
hadoop fs -touchz /aa.txt 在/目录下创建一个空文件aa.txt
hadoop fs -cat /test/aa.txt
hadoop fs -text /test/aa.txt查看/test目录下文件aa.txt的内容
hadoop fs -du /test/aa.txt
hadoop fs -count /test/aa.txt 查看文件大小(单位byte)
Hadoop与当前目录文件传输{
hadoop fs -put aa.txt /test
hadoop fs -copyFromLocal aa.txt /test将当前目录下的aa.txt文件复制到hdfs目录下的/test中
hadoop fs -moveFromLocal aa.txt /test 将当前目录下的aa.txt文件移动到hdfs目录下的/test中
hadoop fs -get /test/aa.txt
hadoop fs -copyToLocal /test/aa.txt将/test/aa.txt文件复制到当前目录(可指定其他目录)
hadoop fs -getmerge / local-file将/目录下的所有文件合并到本地文件local-file中
}

grep

正则表达式搜索文本,并把匹配的行打印出来
grep 交通 *.{txt,html,csv} 例:在所有txt/html/csv文件中进行匹配
-e或--regexp=PATTERN 用PATTERN来进行匹配操作,可指定多个-e
-v或--invert-match 选中不匹配的行
-i或--ignore-case 忽略大小写
-m或--max-count=NUM NUM 次匹配后停止
-n或--line-number 输出的同时打印行号
-c或--count 只打印每个FILE中的匹配行数目
-B或--before-context=NUM 打印文本及其前面NUM 行
-A或--after-context=NUM 打印文本及其后面NUM 行
-C或--context=NUM 或-NUM 打印文本及其前后各NUM 行
-d或--directories=ACTION 读取目录的方式;ACTION 可以是’read’, ‘recurse’,或’skip’
-r或--recursive 等同于–directories=recurse,在目录下递归搜索所有文件(包括子文件夹内的文件)
--include=FILE_PATTERN 只查找匹配FILE_PATTERN 的文件
--exclude=FILE_PATTERN 跳过匹配FILE_PATTERN 的文件和目录
--exclude-from=FILE 跳过所有文件FILE中列出的文件
--exclude-dir=PATTERN 跳过所有匹配PATTERN 的目录

du

查看使用空间
-s或--summarize 仅显示总计,只列出最后加总的值
-b或--bytes 以byte为单位输出
-k或--kilobytes 以KB(1024bytes)为单位输出(默认为这种方式)
-m或--megabytes 以MB为单位输出
-h或--human-readable 以K,M,G为单位,提高信息的可读性
du -ak / | sort -nrk 1 | head 查找指定目录中最大的10个文件

tr

字符替换、删除
不能直接对文件进行操作,对标准输入进行操作,一般与cat 联用
如:cat a.txt | tr 'a-z' 'A-Z'
-d或--delete 删除,如 tr -d ‘a-f’
-s或--squeeze-repeats 把连续重复的字符以单独一个字符表示

sed

用来替换给定文本中的字符串,可以用正则表达式进行匹配
sed 's/pattern/replace_string/g' file 将file中的pattern替换成replace_string打印出来
sed -i 's/pattern/replace_string/g' file 将替换结果写入到原文件(没有g的话只会替换每行第一个匹配的字符串)
sed '/^$/d' file 移除空白行/pattern/d会移除匹配样式的行,在空白行中,行尾标记($)紧随着行首标记(^)

find

find / 列出/目录和子目录下的所有文件和文件夹
find / -name '*txt' 根据文件名或者正则表达式匹配搜索
find / -iname '*txt' 同上,忽略大小写
find / ! -name '*txt' 对上面的搜索结果取反
find / -type d 根据文件类型搜索,d文件夹,f普通文件,etc
find / -type f -size +2k 根据文件大小搜索,+2k大于2k的文件,-2k小于2k的文件,2k等于2k的文件
find / -type f -name '*txt' -delete删除匹配到的文件

tar

tar -cf output.tar file1 file2 file3... -c代表创建文件,-f代表指定文件名
tar -rvf output.tar file1... -r代表添加文件,向已存在的tar包中添加文件
tar -tf archive.tar 列出归档文件中的内容
tar -tvf archive.tar 列出归档文件中内容的详细信息
tar -xf archive.tar 提取归档文件到当前目录
tar -xf archive.tar -C / 提取归档文件到指定目录/
tar -Af file1.tar file2.tar 将file2.tar合并到file1.tar中
tar -f archive.tar --delete file1 file2... 从归档文件中删除文件

猜你喜欢

转载自blog.csdn.net/qq_34233510/article/details/86546128
今日推荐