命令可能不是那么的全,但是却是很实用的一些....
查看当前系统主机名:hostname
查看ip:ifconfig
命令补全:按下tab键
显示当前绝对路径:pwd
查看hdfs数据块健康状态:hdfs fsck /
查看进程:ps -ef | grep xxx eg:ps -ef | grep hadoop
查看端口号(必须使用拥有sudo权限的用户或者直接root用户):netstat -nltp | grep 某进程号
根据某个具体端口号查看是否被占用:netstat -apn | grep 端口号
查看某ip是否ping的通:ping ip
查看某端口是否能访问:telnet ip 服务对应的端口号 eg: telnet 192.168.137.100 50070
清空当前屏幕:clear或者按下ctrl+l
查看某一命令的参数使用帮助:例如ls命令 ls --help
显示当前路径下的所有文件及目录:
1.ls 只显示该目录下的文件或文件夹的名称
2.ls -a 显示所有以 .a开始的文件及文件夹(既隐藏文件和文件夹)
3.ll 显示文件及文件夹的详细信息(包括权限,所属用户,所属组,最后修改时间等)
ll效果等于ls l 的组合形式
4.ll -rt 按照修改时间将文件或者文件夹进行排序显示,最近时间的会在最下边
5.ll -h 查看文件的大小
6.du -sh 文件名/文件夹名 查看指定文件或者文件夹的大小
7.du -sh * 查看当前路径下所有的文件及文件夹大小
切换目录:
1.cd 文件夹名 进入该文件夹内
2.cd ../ 返回当前路径下的上一级目录
3.cd ../../ 返回当前路径下的上两级目录(可多级返回)
4.cd 返回当前用户所在的家目录下
5.cd ~ 返回当前用户所在的家目录下
6.cd - 返回当前路径的上一次所在的路径位置
创建文件夹:
1.mkdir 文件夹名称 在当前路径下创建一个新的文件夹
2.mkdir -p 文件夹名称1/文件夹名称1 递归创建文件夹名称1和文件夹名称2(意思是说当前文件夹名称1不存在时一并创建)
3.mkdir 文件夹名称1 文件夹名称2 文件夹名称3 在当前路径下同时创建三个并级的文件夹
创建文件:
1.touch 文件名 创建一个空的文件
2.vi 文件名 创建一个文件并进入文件编辑模式(在文件编辑模式,按下i或a进入编辑模式,编辑完毕后按下ESC退出编辑模式,按 :wq 进行文件保存并退出,按shift+a可迅速进入当前行的行尾进行编辑)
文件及文件夹的复制:
1.cp 文件名 新路径 复制文件到一个新路径下
2.cp 文件名 新路径/文件名1 复制文件到一个新路径下并进行重命名
3.cp -r 文件夹 新路径 复制文件夹到一个新路径下
4.cp -r 文件夹 新路径/文件夹1 复制文件夹到一个新路径下并进行重命名
文件及文件夹的剪切:
1.mv 文件名 新路径 剪切文件到一个新路径下
2.mv 文件名 新路径/文件名1 剪切文件到一个新路径下并进行重命名
3.mv 文件夹 新路径 复制文件夹到一个新路径下
4.mv 文件夹 新路径/文件夹1 剪切文件夹到一个新路径下并进行重命名
统计文件:
1.wc -l 【文件名】 统计文件的行数
2.wc -m 【文件名】 统计文件的字符数
3.wc -w 【文件名】 统计文件的字数
查看文件内容:
1.cat 文件名 查看文件的所有内容
cat 文件名 | grep 关键字 在文件中搜索带关键字内容并显示
cat 文件名 | grep -C 10 关键字 在文件中搜索带关键字内容的前后各10行内容(数字可更改,-A 10是显示前10行,-B 10是显示后10行)
2.more 文件名 一页一页的翻看,按空格翻页,不能回退。。。按q键退出
3.less 文件名 可以按箭头上下键盘一行一行的查看。。。。按q退出
4.tail -f/-F 文件名 实时监控打印文件内容(tail默认查看后10行内容,tail -n 数字 文件名 查看后数字行内容/tail -数字f 文件名 查看后数字行内容)
关于f和F的区别:
f是以地址作为区别,如果监控的文件改名了就表示地址变换了,之后便会停止监控
F是以文件名为区别,即使监控的文件改名了,只要再次创建相同文件名的文件,还会继续监控
>和>>的区别:>是覆盖,>>是追加
------------------------------
alias关键字的使用:当我们当次登陆linux系统时需要多次使用一个长命令时候可采用别名的方式(当前session有效)
eg: 设置进入eth0文件的别名
alias cdeth0='vi /etc/sysconfig/network-scripts/ifcfg-eth0'
那么在当前这个回话中你就可以输入:cdeth0 来进入到eth0文件的编写
关于环境变量的设置:设置后切记使用source或者 . 的方式刷新一下你配置环境变量的文件
1.全局环境变量的设置:默认的环境变量设置文件为 vi /etc/profile
2.个人的环境变量的设置:在当前用户的家目录下以 .开头的 .bash_profile文件和 .bashrc两个文件,都可进行设置
rm命令的使用:
rm 文件名 删除一个文件,需要输入y确认删除
rm -f 文件名 强制删除一个文件,不需要输入y
rm -rf 文件夹名 强制删除一个文件夹
history命令的使用:
1.输入history默认可查看最近1000行命令记录,!历史记录行号既可执行当前行号的命令
2.history -c 清除history记录,但是不能删除用户家目录下 .bash_history中的历史记录,所以需要连用户家目录下 .bash_history文件一并删除
关于用户和用户组:
useradd 用户名 添加一个新用户
passwd 用户名 为该用户设置用户密码
groupadd 组名 创建一个新的用户组
--查看用户的用户组信息(id 用户名)
[root@hadoop001 sbin]# id root
uid=0(root) gid=0(root) groups=0(root)
------------------------------
1.关于普通用户在生产中配置sudo权限的问题:
通过root账号在/etc/sudoers文件中加入普通用户信息
eg:
[root@hadoop001 ~]# vi /etc/sudoers
然后找到配置用户权限的这部分
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
仿照root用户权限配置加入该行表示使yoohhwz该用户可以使用sudo权限,并且不需要输入密码
yoohhwz ALL=(root) NOPASSWD:ALL
然后wq!保存即可。
2.查看进程的命令:ps -ef (通过关键字查看进程的命令:ps -ef | grep 关键字)
3.通过pid杀死进程的命令:kill -9 pid
4.同时杀死多个pid的命令:kill -9 pid1 pid2 pidN...
或者使用:kill -9 $(pgrep -f 关键字) ------但是该方式需慎重
5.查看端口号的命令:netstat -lnp(查看某进程端口号的命令:netstat -lnp | grep pid)
6.关于文件/文件夹查找的命令:find 路径 -name '关键字' (eg:find / -name 'hwz' 表示从根目录开始查找名字为hwz的文件或文件夹,要查找的关键字也可使用模糊匹配*)
------------------------------------
yum命令的使用:
1.安装rpm包的命令:yum install xxx
2.删除rpm包的命令: yum remove xxx 或者rpm -e xxx (如果使用rpm命令删除过程中报依赖包错误的话,需要加参数rpm -e --nodeps xxx)
3.搜索rpm包的命令:yum search xxx
4.查看已安装的所有rpm包:rpm -qa(查看已安装的某个rpm包:rpm -qa | grep 关键字)
关于tar包压缩解压缩的命令:
解压缩:tar -zxvf xxx.tar.gz -C 目录
z:有gzip属性的
x:解压
v:显示所有过程
f: 后跟文件名,切记,这个参数是最后一个参数
-C:指定你要解压的文件到哪个目录
压缩:tar -zcvf xxx.tar.gz 要压缩的文件/文件夹
c:压缩
Zip压缩/解压缩的命令:
压缩:zip [-r] xxx.zip 要压缩的文件夹/文件
解压缩:unzip xxx.zip
----------------------------------------
关于vi命令相关:
dd:删除光标所在当前行
gg:回到当前文件的首行
G:跳到当前文件的尾行
0:回到当前行的行头
shift+$:跳到当前行的末尾
shift+a:跳到当前行的末尾并进入编辑模式
dG:删除当前行以及以下所有内容
数字G : 跳转到对应行
set nu:显示当前文件的行号
set nonu:取消当前文件的行号
ndd(n代表数字):删除光标所在行以及以下的n-1行
在文件中搜索的命令:/要搜索的关键字 n表示下一个 N表示上一个
清空文件的命令:
1.gg+dG:先跳到该文件首行,然后使用dG清空该文件(0字节)
2.echo '' > 文件名/echo ""> 文件名:输出一个空字符然后覆盖到文件中以达到清空文件的目的,但是并不是真正意义上的清空(1字节)
3.cat /dev/null > 文件名:通过查看/dev/null文件中的空内容然后覆盖到目标文件中以达到清空文件的目的(0字节)
-------------------------------------
关于权限:
drwxr-xr-x. 2 root root 4096 Jun 16 08:18 hwz
d(表示目录)rwx(u所属用户的权限)r-x(g所属组的权限)r-x(o其它组的用户的权限). 2 root(所属用户) root(所属组) 4096(如果是目录的话不一定是目录大小,如果是文件的话就是文件的大小) Jun 16 08:18(最后一次修改时间) hwz(文件夹名/文件名)
第一个字母d表示目录,-表示文件,l表示软连接
r数字代表4,w数字代表2,x数字代表1
chomod [-R] xxx 文件/文件夹:更改该文件/文件夹的对外权限,参数R表示针对文件夹操作时候,文件夹里面的文件权限一块更改
或者可以 chmod [-R] u+x,g+w,o+x 文件/文件夹
更改文件夹/文件的所属用户,所属用户组:chown [-R] 用户名:用户组 要修改的文件夹/文件
------------------------------------
查看磁盘使用命令:df -h
查看内存使用命令:free -m(m表示以M为单位显示使用情况)
查看cpu系统负载情况:top命令中的load average: 0.00, 0.00, 0.00
5分钟,10分钟,15分钟
一般来说其值<=10表示系统运行还行,>=10表示系统负载高,系统很卡
--------------------------------------
关于Linux自带crontab的使用:
yum下载crontab命令:yum -y install vixie-cron crontabs
编辑一个新的任务:crontab -e
--------------------------------------
关于后台运行的命令:
shell脚本:
1.sh xxx.sh & 但是这种并不是真正的后台执行,因为这种属于会话级别的,一旦当前窗口关闭的话你的程序也就关闭了,并不会后台执行,一般测试环境可以使用
2.nohup sh xxx.sh & 这种才是真正意义上的后台执行某一脚本程序,即使当前窗口关闭程序也会后台执行,然后脚本执行的输出会输出到nohup.out文件中,但是如果你有多个shell脚本在同一目录的话,那么所有脚本的输出都会混杂在一个nohup.out文件中,不利于我们分析,所以最终建议使用这种nohup sh xxx.sh >>xxx.log & 即一个shell脚本程序对应一个输出文件