一、Linux命令行
[user@bigdata ~]$
[root@bigdata ~]#
1、user、root 当前操作的用户;
2、@bigdata 当前的主机名;
3、~ 当前用户主目录,如/home/user ;
4、$ 当前用户为普通用户;
5、# 当前用户为root用户;
二、Linux辅助命令
1、敲出命令或目录或文件的前一部分可以通过Tab键实现自动补全;
2、clear 清屏命令,在命令行使用;
3、Ctrl+l 清屏快捷键,当命令行已经打出部分命令又不愿清除时,可以使用快捷键清屏;
三、Linux命令格式
命令 [选项] [参数:目录或者文件] (PS:中括号内容为可选)
四、常见命令
1、ls 命令 【--list //列出某个目录下的文件】
ls #查看当前目录下的文件;
选项:
-l,long,显示长格式的文件或目录信息;
-a,all,显示所有的文件或目录(包含隐藏文件);
-d,显示目录本身的属性;
-h,查看具体文件的大小;
2、ll 命令
ll #显示当前目录下长格式的文件信息,等同于ls -l
3、cd 命令 【--change Directory //切换目录】
cd [想要切换的目录]
最前面加了【/】是绝对路径 不加【/】是相对路径
#cd . 回到当前目录;
#cd .. 回到上一级目录;
#cd / 回到根目录,系统最顶层目录;
【cd】相当于【cd~】 【~】相当于【/home/hadoop/】那一级
4、pwd 命令
pwd #显示当前目录的绝对路径;
5、su 命令
su #切换用户及用户文件;
选项:
-,从普通用户切换到root用户,需要root用户的密码;
- user,从root用户切换到普通用户,不需要用户密码;
普通用户之间切换需要密码;(-和user之间需要分开);
,不加 - ,则只切换用户,不切换用户文件;
五、Linux文件目录命令
1、touch 命令
touch #创建一个空文件;创建名字带有空格的文件(touch “file name”);
2、mkdir 命令 【--make directory //创建目录或新建目录】
mkdir #创建一个目录(一级目录);
选项:
-p,递归创建多级目录;
mkdir /home/user01/test demo/test //一条命令同时创建2个一级目录
3、rm 命令 【remove】
rm #删除一个文件或目录(一级目录);
-r,【recursive递归删除多级目录;只要是删除目录就要使用-r】
-f,【force强制删除;】
rm -rf demo/等价于 rm -r -f demo/
删除一个文件file.txt — —【rm file.txt】
删除一个目录a — — 【rm -r a】
4、rmdir 命令
rmdir #删除一个空目录;
5、cp 命令
cp #拷贝一个文件(拷贝文件时可以重命名文件)或目录(一级目录);
-r,递归拷贝多级目录;
6、mv 命令
mv #剪切文件(剪切文件时可以重命名文件)或目录;
7、cat 命令
cat #查看一个文件,适合查看小文件或者行数比较少的文件;
例子:把textfile的文档内容加上行号【cat -n textfile】
8、more 命令
more #分页查看文件内容(大文件 )
#按空格键一页一页查看(Xshell一屛高度决定);
#按回车键一行一行查看;
#按q退出浏览状态;Ctrl+c 强制退出
9、head 命令
head #查看一个文件的前几行;
选项:
-n,n代表行数;
例子:head -5 file.txt
10、tail 命令
tail #查看一个文件的末尾几行;
tail -n [文件名]
-不加-n选项,表示默认查看后10行的内容
-f动态查看文件内容
tail -f /home/user01/file.txt
退出查看状态 Ctrl+C
11、回显打印【echo】
$echo ‘i love you’ i love you
把【i love you】重定向到【1.log】中 或者是内容的追加。。
$echo 'i love you' >> 1.log
六、vi编辑器命令
1、三种模式
⑴命令模式:刚进入文件的时候的状态,或者是在插入模式按Esc进入的状态;
⑵插入模式:可编辑文件内容的状态(按i进入,按Esc退出);
⑶最后行模式:在命令模式下输入“:”(英文冒号),进入的状态;
选项:w 保存,q 退出,!强制操作(三个选项可以联合使用wq! w! q! );
wq! 保存并退出 w! 强制保存 q! 强制退出
2、vi 快捷方式
⑴显示行号,最后行模式使用,set nu ;
⑵光标移到首行,命令模式使用,小写gg ;
⑶光标移到末行,命令模式使用,大写G ;
⑷删除光标所在行,命令模式使用,小写dd ;
⑸删除光标往下的多行,命令模式使用,如3dd ;
⑹拷贝光标所在行,命令模式使用,小写yy ;
⑺拷贝光标往下的多行,命令模式使用,如3yy ;
⑻粘贴一行或多行,命令模式使用,小写p ;
⑼撤销上一步操作,命令模式使用,小写u ;
3、替换内容命令
1, $s/需要替换的内容/替换的结果内容/g
# 1表示第一行,$表示最后一行,(1,$)表示一个范围,g表示通行;
4、搜索命令
命令模式使用,搜索一个字符串“string”,则为 /string ,n继续搜索下一个,N搜索上一个;
七、关机和重启命令
1、关机命令(4种):
shutdown -h now#立即关机;
init 0
halt
poweroff#常用;
2、重启命令(2种):
reboot
init 6
3、拓展
Linux CentOS关机命令:
⑴halt#立刻关机;
⑵poweroff#立刻关机;
⑶shutdown -h now #立刻关机(root用户使用);
⑷shutdown -h 10#10分钟后自动关机;
注意:如果是通过shutdown命令设置关机的话,可以用shutdown -c 命令取消重启;
Linux CentOS重启命令:
⑴reboot#立刻重启;
⑵shutdown -r now#立刻重启(root用户使用);
⑶shutdown -r 10#10分钟后自动重启(root用户使用);
⑷shutdown -r 20:35#在时间为20:35时重启(root用户使用);
注意:如果是通过shutdown命令设置重启的话,可以使用shutdown -c命令取消重启;
一、用户和用户组命令(对用户的操作应该在root权限下)
1、超级用户:就是root用户,拥有至高无上的权限(root用户在实际生产环境中尽量不要使用);
root用户的UID为0;
2、普通用户:UID从500开始的;
3、伪用户:UID在1~499之间的是伪用户(系统指定的一些进程,给它们也分配了一部分ID号,这部分伪用户不能够真正的登录,也没有家目录);
$cat /etc/passwd
user01: x: 500: 500: :/home/user01: /bin/bash
用户名:密码:UID:GID:注释性描述(fullname): 用户家目录: 用户使用的shell
4、创建用户:#useradd username 创建一个新用户时会默认生成一个同名的用户组
5、创建用户组:#groupadd usergroupname
6、设置/修改用户密码:#passwd password
7、切换用户:su - (su 和 su - 的区别:前者只切换用户,后者既切换用户,又切换用户目录)
8、删除用户:# userdel username
选项:-r,彻底删除用户,包括用户的目录;
拓展:
1、gpasswd 参数 username usergroup 管理用户组成员,增加或者删除;
选项: -a,为用户组加入一个已经存在的用户;
-d,将用户组内的某个用户移除;
2、useradd -g usergroup username 创建一个新用户的同时指定其所属组;
useradd -G usergroup username 添加一个已经存在的用户到另外一个组;
二、用户文件和目录权限命令
1、drwxrwxr-x d/- rwx rwx r-x
目录/文件 用户权限->u 用户组权限->g 其他用户权限->o
⑴读操作r(4):cat,more,head,tail等;
⑵写操作w(2):vi,touch,mkdir,mv,cp,rm等;
⑶执行操作x(1):cd,执行脚本sh等;
2、修改文件或目录的权限命令:chmod
--> 字母用法:# chmod u+x test
--> 字母用法:# chmod g+x,o+x test
--> 字母用法:# chmod o-x test
赋予用户权限用加号表示:+
撤销用户权限用减号表示:-
-->数字用法:# chmod 764 file5
选项:-R, 递归修改
用法:#chmod 777 -R test/
4.修改文件的所有者或所属用户 chown
用法: # chown shanghai /home/user01/1.txt
注意:使用root用户操作
5.修改文件或目录的所属组用户 chgrp
用法: # chgrp shanghai /home/user01/1.txt
注意:使用root用户操作
6.一条命令同时修改所属用户和所属组
chown user01:user01 /home/user01/1.txt
三、管道符|、追加/覆盖符号
1、用竖线表示 |
2、表示将前一个命令的输出结果传递给后面的命令处理,两边都是命令
$ cat /etc/passwd | more
3、grep:过滤筛选
$ cat /etc/passwd | grep 'root'
4、过滤条件
$ ifconfig | grep 'inet'
$ ls /dev | grep 'cdrom'
5、追加用两个大于符号表示:>>
表示将前一个命令的输出结果追加写入到某个文件中
$ ifconfig | grep inet >> ~/test/file6
如果被写入的文件不存在,则自动创建
6、覆盖用一个大于符号表示:>
表示将前一个命令的输出结果覆盖写入到某个文件中
$ head -3 /etc/passwd > /home/user01/test/demo
7、wc(word count)统计命令:统计单词、字符、行数,支持管道符号
$ wc -l /etc/passwd
$ head -3 /etc/passwd | wc -l
统计某个文件或目录的大小或者是占用的存储空间大小
du -sh /test
8、ps -ef 显示当前系统正在运行的进程
$ ps -ef | wc -l
1、搜索命令会消耗大量的资源
2、语法格式:
四、搜索命令:find
find 【搜索范围】 【匹配条件】
3、根据文件名搜索
选项: -name
全盘查找:$ find / -name init
模糊查询带有关键字的: $ find /etc/ -name *init*
查找关键字开头的文件:$ find /etc/ -name init*
# find /etc/ -name init???
*号:通配符,匹配任意的字符
?号:匹配单个字符
Linux中大小写是严格区分的
选项:-iname,表示不区分大小写
# find /etc/ -iname init???
4.根据文件大小搜索
选项:-size
指定方式:+大于, -小于,不加符号表示等于
$ # find /etc/ -size +2M
5.根据所有者和所属组查找
$ find /root -user root
$ find /root -group root
6.根据文件类型进查找
$ find /etc/ -name init* -type f
$ find /etc/ -name init* -type d
f表示文件 d代表目录
五、sudo 权限
1、操作对象是系统命令
2、命令: # visudo 管理员(root)身份执行
3、配置sudo # visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
user01 ALL=(root) NOPASSWD: ALL
那三个ALL到底是什么意思。
第一个ALL是指网络中的主机,我们后面把它改成了主机名,它指明user01用户可以在此主机上执行后面的命令。
第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。
最后一个ALL当然就是指命令名了。
4.使用:在需要root用户操作的时候,在原来命令的前方加sudo
$ vi /etc/hosts
"/etc/hosts" [readonly] 3L, 189C
$ sudo vi /etc/hosts
六、压缩和解压缩
WinRAR .rar .zip .7z
在windows中,使用一款压缩软件就能全部搞定压缩和解压缩的问题压缩格式
在Linux中常见的格式
.gz
.tar
.tar.gz
1、压缩格式:.gz
1)压缩命令: gzip 压缩文件
用法:$ gzip 1.txt
注意:不能保留源文件
2)解压缩命令: gunzip
用法:$ gunzip passwd.gz
2、压缩格式:.tar .tar.gz
1)压缩命令: tar 压缩文件或目录
用法: $ tar -cvf 20170427.tar passwd
2)压缩格式: .tar.gz
分布完成:第一步,先将源文件压缩成tar tar -cvf
第二步,压缩成.tar.gz gzip
**一次性完成:
$ tar -zxvf 1202.tar.gz demo/
3)解压缩
$ tar -zxf 1202.tar.gz -C Desktop/
选项:
-z, --gzip, --gunzip, --ungzip filter the archive through gzip
-c, --create create a new archive
-x, --extract, --get extract files from an archive
-v, --verbose verbosely list files processed
-f, --file=ARCHIVE use archive file or device ARCHIVE
】】】】】】】】】】
零、系统管理命令
1.top 查看系统资源 --> 相当于任务管理器
每隔3秒更新一次
按q退出浏览状态
2.free 查看内存信息 --> yuan 可能会用到
选项:-m, 就是以MB格式显示
3.df -l 查看硬盘分区信息
4.ps -ef 查看系统进程
ps -ef | grep crond
jps 查看系统正在运行的java进程
5.kill 杀死正在进行的进程 -> 结合jps一起使用
选项:-9
kill -9 【pid】
6.ifconfig 查看主机IP
7.ping 检测网络质量和网络连接
ping 主机名
ip地址
域名
8、netstat 查看网络端口
选项:
-t #监控tcp协议的进程
-l #listenning
-n #显示端口号信息
-p # 显示进程的PID
netstat -antp | grep 端口号
如常见的:
hive --metastore 9083
--hiveserver2 10000
9、jps 查看正在运行的java进程