【1】man 打印出相应命令的使用帮助信息
man ls
man touch
【2】ls
ls -l ##详细信息
ls -a ##所有目录及文件(包含隐藏的)
hdfs dfs -ls
hdfs dfs -ls hdfs://nameservice1/user/hive/warehouse/app.db/sr_tmp_opening_no_vip_793/
hdfs dfs -getmerge hdfs://nameservice1/user/hive/warehouse/app.db/sr_tmp_opening_no_vip_793/* opening_no_vip.csv
hdfs dfs -ls hdfs://nameservice1/user/hive/warehouse/app.db/sr_tmp_export_from_haa_xjh_793_opening/
lsof res.log 一个列出当前系统打开文件的工具
【3】mkdir 与 rmdir[删除目录]
hdfs dfs -mkdir /data
mkdir 创建一级目录
mkdir -p 递归创建多级目录,如果目录已经存在,则不会有错误提示。若父目录不存在,将会创建父目录。该选项常用于创建级联目录
rmdir 删除目录
【4】cd
cd ~/root/tools
##~代表当前用户(即root用户)的家目录,等同于/roo;
##.代表当前目录;
##..代表上级目录.
【5】touch 创建文件
touch {1..5}.txt
touch 新建文件
touch -t YYYYMMDDHHmm text 新建一个确定时间的文件
【6】rm
rm a.txt 删除文件
rm -r homework 删除homework目录
rm -r * 删除当前目录下的所有文件及目录
rm -rf a.txt;同时删除该目录下的所有文件
rm –rf /root/data; 强制删除文件或目录
hdfs dfs -rm r /data
–i :系统在删除文件之前会先询问确认,用户回车之后,文件才会真的被删除。需要注意,linux下删除的文件是不能恢复的,删除之前一定要谨慎确认。
–r:该参数支持目录删除,功能和rmdir命令相似。
–f:和-i参数相反,-f表示强制删除
【7】mv
mv /home/ffxhd/a.txt /home/ffxhd/b.txt 重命名
mv /home/ffxhd/a.txt /home/ffxhd/test/ 移动
mv /home/ffxhd/a.txt /home/ffxhd/test 移动
mv /home/ffxhd/a.txt /home/ffxhd/test/c.txt 移动+重命名
Moving data to directory hdfs://nameservice1/user/hive/warehouse/app.db/sr_tmp_export_from_haa_xjh_793_opening from hdfs://nameservice1/user/hive/warehouse/app.db/.hive-staging_hive_2020-10-22_19-18-41_383_9114053944713216587-2092/-ext-10001
【8】cp
cp data.txt a.txt
cp -r a b 复制目录 并改名为b
scp /root/training/hadoop2.7.3 root@hadoop222:/root/training
hdfs dfs -cp /data/data.txt /data/bbb.txt
cp -rvf jira_830 jira
【9】tar
tar -zxvf hadoop-2.7.3.tar.gz –C /root/training
(五选一)-x:解压;-c:建立压缩文档;-t:查看内容;-u:更新源压缩包中的文件;-r:向压缩归档文件末尾追加文件。
-v:显示所有过程;-z:有gzip属性的,即gz;
-f:使用文件名字,是最后一个参数,后面只能接文件名;
-C:dir参数,将tar的工作目录进行切换,也就是将文件解压到指定目录。
【10】RPM软件包管理
-qa:显示所有已安装软件包
-qa | grep:检测是否已安装某软件包
rpm –qa | grep tree ,检测是否已安装tree命令工具
【11】lftp
【12】wc 计数
wc -l 换行符统计数
wc -w 单词统计数
wc -c 字节统计数 (包括空格和回车)
【13】定时任务
crontab -e //编辑定时任务
* * * * *echo hello >>/hello.txt
分时日月周 命令
这5个*分别代表
①分钟 范围0-59 */5 代表每5分钟执行一次
②小时 0-23 */2 代表每2小时执行一次
③日期 1-31 1-15 代表1到15号
④月份 1-12 7-9 */3
⑤星期 0-7 0和7都代表周日
【14】chmod 改变权限
- normal file 普通文件
d directory 目录
l symbolic link 符号链接
p named pipe 管道
b block device 块设备
c character device 字符设备
s socket 套接字
drwxrwxrwx 各自对应的意思
第1位 - 表示文件类型
第2-4位 rwx 表示用户所有者的权限
第5-7位 r-x 表示所属组的权限
第8-10位 r-- 表示其他用户的权限
r 读权限(4)
w 写权限(2)
x 执行权限(1)
例:chmod 755 test 赋予test文件所有者读写执行权限,所属组读和执行权限,其他用户读和执行权限
【15】ln:创建链接文件:
ln –s /usr/local/linux/work /root/local/linkwork
ln -f:当已经有此文件的链接文件时,强制重新创建链接文件
ln -s:创建软链接文件,类似于windows的快捷方式,
没有s参数时,默认创建的是硬链接文件,且只能链接文件,不能链接目录,
硬链接相当于又创建了一个文件,只是两个文件的变化是一起的,
删除源文件不会影响链接文件,软链接文件是值这个文件指向源文件,
当源文件删除时,会找不到指向的源文件。
【16】echo 字符串的输出
echo [-ne][字符串] echo会将输入的字符串送往标准输出,输出的字符串间以空白字符隔开, 并在最后加上换行符。
参数:
-n 显示字串时在最后自动换行
-e 支持以下格式的转义字符, -E 不支持以下格式的转义字符
/a 发出警告声;
/b 删除前一个字符;
/c 最后不加上换行符号;
/f 换行但光标仍旧停留在原来的位置;
/n 换行且光标移至行首;
/r 光标移至行首,但不换行;
/t 插入tab;
/v 与/f相同;
// 插入/字符;
/nnn 插入nnn(八进制)所代表的ASCII字符;
#!/bin/bash
echo "hello world !" #hello world !
echo "\"It is a test\"" #"It is a test"‘
echo "$name It is a test" #$name是变量
echo -e "OK! \n" # -e 开启转义 显示换行
echo -e "OK! \c" # -e 开启转义 \c 不换行
echo "It is a test" > myfile #显示结果定向至文件
echo '$name\"' #原样输出字符串,不进行转义或取变量(用单引号)
echo `date` #显示命令执行结果 这里使用的是反引号 `, 而不是单引号 '。
【17】shell中${}、##和%%使用范例
file=/dir1/dir2/dir3/my.file.txt
${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt
${file#*.}:删掉第一个 . 及其左边的字符串:file.txt
${file##*.}:删掉最后一个 . 及其左边的字符串:txt
${file%/*}:删掉最后一个 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:删掉第一个 / 及其右边的字符串:(空值)
${file%.*}:删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:删掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my
# 是 去掉左边(键盘上#在 $ 的左边)
%是去掉右边(键盘上% 在$ 的右边)
单一符号是最小匹配;两个符号是最大匹配
${file:0:5}:提取最左边的 5 个字节:/dir1
${file:5:5}:提取第 5 个字节右边的连续5个字节:/dir2
${file/dir/path}:将第一个dir 替换为path:/path1/dir2/dir3/my.file.txt
${file//dir/path}:将全部dir 替换为 path:/path1/path2/path3/my.file.txt
利用 ${ } 还可针对不同的变数状态赋值(沒设定、空值、非空值):
${file-my.file.txt} :假如 $file 沒有设定,則使用 my.file.txt 作传回值。(空值及非空值時不作处理)
${file:-my.file.txt} :假如 $file 沒有設定或為空值,則使用 my.file.txt 作傳回值。 (非空值時不作处理)
${file+my.file.txt} :假如 $file 設為空值或非空值,均使用 my.file.txt 作傳回值。(沒設定時不作处理)
${file:+my.file.txt} :若 $file 為非空值,則使用 my.file.txt 作傳回值。 (沒設定及空值時不作处理)
${file=my.file.txt} :若 $file 沒設定,則使用 my.file.txt 作傳回值,同時將 $file 賦值為 my.file.txt 。 (空值及非空值時不作处理)
${file:=my.file.txt} :若 $file 沒設定或為空值,則使用 my.file.txt 作傳回值,同時將 $file 賦值為my.file.txt 。 (非空值時不作处理)
${file?my.file.txt} :若 $file 沒設定,則將 my.file.txt 輸出至 STDERR。 (空值及非空值時不作处理)
${file:?my.file.txt} :若 $file 没设定或为空值,则将 my.file.txt 输出至 STDERR。 (非空值時不作处理)
${#var} 可计算出变量值的长度:
${#file} 可得到 27 ,因为/dir1/dir2/dir3/my.file.txt 是27个字节
【其他】
pwd 显示当前工作目录
clear 清屏,即将屏幕显示的内容清空
shutdown 系统关机
-r:关机后重启; -h:关机后不重新启动; -now:立即关机
halt 关机后关闭电源
reboot 重新启动