man [命令或配置文件] (功能描述:获得帮助信息)
[root@hadoop101 ~]# man ls
help 命令 (功能描述:获得shell内置命令的帮助信息)
[root@hadoop101 ~]# help cd
pwd:print working directory 打印工作目录
每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字
[atguigu@hadoop101 ~]$ ls -al
drwx——. 5 atguigu atguigu 4096 5月 27 15:15 .
drwxr-xr-x. 3 root root 4096 5月 27 14:03 ..
drwxrwxrwx. 2 root root 4096 5月 27 14:14 hello
-rwxrw-r–. 1 atguigu atguigu 34 5月 27 14:20 test.txt
[root@hadoop101 ~]# cd /root/
[root@hadoop101 ~]# cd 公共的/
(3)表示回到自己的家目录,亦即是 /root 这个目录
[root@hadoop101 公共的]# cd ~
(5)表示回到当前目录的上一级目录,亦即是 “/root/公共的”的上一级目录的意思;
[root@hadoop101 公共的]# cd ..
mkdir:Make directory 建立目录
[root@hadoop101 ~]# mkdir xiyou
[root@hadoop101 ~]# mkdir xiyou/mingjie
[root@hadoop101 ~]# mkdir -p xiyou/dssz/meihouwang
rmdir:Remove directory 移动目录
[root@hadoop101 ~]# rmdir xiyou/dssz/meihouwang
[root@hadoop101 ~]# touch xiyou/dssz/sunwukong.txt
cp [选项] source dest (功能描述:复制source文件到dest)
[root@hadoop101 ~]# cp xiyou/dssz/suwukong.txt xiyou/mingjie/
[root@hadoop101 ~]# cp -r xiyou/dssz/ ./
rm [选项] deleteFile (功能描述:递归删除目录中所有内容)
[root@hadoop101 ~]# rm xiyou/mingjie/sunwukong.txt
[root@hadoop101 ~]# rm -rf dssz/
(1)mv oldNameFile newNameFile (功能描述:重命名)
(2)mv /temp/movefile /targetFolder (功能描述:移动文件)
[root@hadoop101 ~]# mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt
[root@hadoop101 ~]# mv xiyou/dssz/houge.txt ./
[atguigu@hadoop101 ~]$ cat -n houge.txt
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明。
[root@hadoop101 ~]# more smartd.conf
less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
用SecureCRT时[pagedown]和[pageup]可能会出现无法识别的问题。
[root@hadoop101 ~]# less smartd.conf
[atguigu@hadoop101 ~]$ echo “hello\tworld”
[atguigu@hadoop101 ~]$ echo -e “hello\tworld”
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
head 文件 (功能描述:查看文件头10行内容)
head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
[root@hadoop101 ~]# head -n 2 smartd.conf
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容。
(1)tail 文件 (功能描述:查看文件头10行内容)
(2)tail -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数)
(3)tail -f 文件 (功能描述:实时追踪该文档的所有更新)
[root@hadoop101 ~]# tail -n 1 smartd.conf
[root@hadoop101 ~]# tail -f houge.txt
(1)ls -l >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
(2)ls -al >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
(3)cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
[root@hadoop101 ~]# ls -l>houge.txt
[root@hadoop101 ~]# ls -l>>houge.txt
[root@hadoop101 ~]# echo hello>>houge.txt
软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。
[root@hadoop101 ~]# mv houge.txt xiyou/dssz/
[root@hadoop101 ~]# ln -s xiyou/dssz/houge.txt ./houzi
lrwxrwxrwx. 1 root root 20 6月 17 12:56 houzi -> xiyou/dssz/houge.txt
[root@hadoop101 ~]# rm -rf houzi
[root@hadoop101 ~]# ln -s xiyou/dssz/ ./dssz
[root@hadoop101 ~]# cd -P dssz/
history (功能描述:查看已经执行过历史命令)
[root@hadoop101 test1]# history
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前月份)
(4)date +%d (功能描述:显示当前是哪一天)
(5)date “+%Y-%m-%d %H:%M:%S” (功能描述:显示年月日时分秒)
2017年 06月 19日 星期一 20:53:30 CST
[root@hadoop101 ~]# date +%Y%m%d
[root@hadoop101 ~]# date “+%Y-%m-%d %H:%M:%S”
(1)date -d ‘1 days ago’ (功能描述:显示前一天时间)
(2)date -d ‘-1 days ago’ (功能描述:显示明天时间)
[root@hadoop101 ~]# date -d ‘1 days ago’
2017年 06月 18日 星期日 21:07:22 CST
[root@hadoop101 ~]#date -d ‘-1 days ago’
2017年 06月 20日 星期日 21:07:22 CST
[root@hadoop101 ~]# date -s “2017-06-19 20:52:18”
cal [选项] (功能描述:不加选项,显示本月日历)
[root@hadoop101 ~]# cal 2017
useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
[root@hadoop101 ~]# useradd tangseng
[root@hadoop101 ~]#ll /home/
[root@hadoop101 ~]# passwd tangseng
[root@hadoop101 ~]#id tangseng
4. cat /etc/passwd 查看创建了哪些用户
[root@hadoop101 ~]# cat /etc/passwd
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su – 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
[root@hadoop101 ~]#su tangseng
[root@hadoop101 ~]#echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@hadoop101 ~]#su – tangseng
[root@hadoop101 ~]#echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/tangseng/bin
(1)userdel 用户名 (功能描述:删除用户但保存用户主目录)
(2)userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
[root@hadoop101 ~]#userdel tangseng
[root@hadoop101 ~]#ll /home/
[root@hadoop101 ~]#useradd zhubajie
[root@hadoop101 ~]#ll /home/
[root@hadoop101 ~]#userdel -r zhubajie
[root@hadoop101 ~]#ll /home/
(1)whoami (功能描述:显示自身用户名称)
(2)who am i (功能描述:显示登录用户的用户名)
[root@hadoop101 opt]# whoami
[root@hadoop101 opt]# who am i
[root@hadoop101 ~]#useradd atguigu
[root@hadoop101 ~]#passwd atguigu
[root@hadoop101 ~]#vi /etc/sudoers
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
## Allow root to run any commands anywhere
atguigu ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用atguigu帐号登录,然后用命令 sudo ,即可获得root权限进行操作。
[atguigu@hadoop101 opt]$ sudo mkdir module
[root@hadoop101 opt]# chown atguigu:atguigu module/
[root@hadoop101 opt]#usermod -g root zhubajie
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,
如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
[root@hadoop101 opt]#groupadd xitianqujing
[root@hadoop101 opt]# groupdel xitianqujing
[root@hadoop101 ~]#groupadd xitianqujing
[root@hadoop101 ~]# groupmod -n xitian xitianqujing
4. cat /etc/group 查看创建了哪些组
[root@hadoop101 atguigu]# cat /etc/group
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。
如果没有权限,就会出现减号[ – ]而已。从左至右用0-9这些数字来表示:
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
(2)第1-3位确定属主(该文件的所有者)拥有该文件的权限。—User
(3)第4-6位确定属组(所有者的同组用户)拥有该文件的权限,—Group
(4)第7-9位确定其他用户拥有该文件的权限 —Other
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被系统执行
[ r ]代表可读(read): 可以读取,ls查看目录内容
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录
-rw——-. 1 root root 1248 1月 8 17:36 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 1月 12 14:02 dssz
lrwxrwxrwx. 1 root root 20 1月 12 14:32 houzi -> xiyou/dssz/houge.txt
(1)如果查看到是文件:链接数指的是硬链接个数。创建硬链接方法
[root@hadoop101 ~]# ln xiyou/dssz/houge.txt ./hg.txt
(2)如果查看的是文件夹:链接数指的是子文件夹个数。
[root@hadoop101 ~]# ls -al xiyou/
drwxr-xr-x. 4 root root 4096 1月 12 14:00 .
dr-xr-x—. 29 root root 4096 1月 12 14:32 ..
drwxr-xr-x. 2 root root 4096 1月 12 14:30 dssz
drwxr-xr-x. 2 root root 4096 1月 12 14:04 mingjie
chmod [{ugoa}{+-=}{rwx}] 文件或目录
chmod [mode=421 ] [文件或目录]
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
[root@hadoop101 ~]# cp xiyou/dssz/houge.txt ./
[root@hadoop101 ~]# chmod u+x houge.txt
[root@hadoop101 ~]# chmod g+x houge.txt
(3)修改文件所属主用户执行权限,并使其他用户具有执行权限
[root@hadoop101 ~]# chmod u-x,o+x houge.txt
(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod 777 houge.txt
(5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod -R 777 xiyou/
chown [选项] [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)
[root@hadoop101 ~]# chown atguigu houge.txt
[root@hadoop101 ~]# ls -al
-rwxrwxrwx. 1 atguigu root 551 5月 23 13:02 houge.txt
[root@hadoop101 xiyou]# ll
drwxrwxrwx. 2 root root 4096 9月 3 21:20 xiyou
[root@hadoop101 xiyou]# chown -R atguigu:atguigu xiyou/
[root@hadoop101 xiyou]# ll
drwxrwxrwx. 2 atguigu atguigu 4096 9月 3 21:20 xiyou
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
[root@hadoop101 ~]# chgrp root houge.txt
[root@hadoop101 ~]# ls -al
-rwxrwxrwx. 1 atguigu root 551 5月 23 13:02 houge.txt
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
(1)按文件名:根据名称查找/目录下的filename.txt文件。
[root@hadoop101 ~]# find xiyou/ -name *.txt
(2)按拥有者:查找/opt目录下,用户名称为-user的文件
[root@hadoop101 ~]# find xiyou/ -user atguigu
(3)按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于)
[root@hadoop101 ~]find /home -size +204800
locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
[root@hadoop101 ~]# updated
[root@hadoop101 ~]#locate tmp
0)管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
[root@hadoop101 ~]# ls | grep -n test
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
[root@hadoop101 ~]# gzip houge.txt
[root@hadoop101 ~]# gunzip houge.txt.gz
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压缩文件)
zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件。
(1)压缩 1.txt 和2.txt,压缩后的名称为mypackage.zip
[root@hadoop101 opt]# touch bailongma.txt
[root@hadoop101 ~]# zip houma.zip houge.txt bailongma.txt
adding: houge.txt (stored 0%)
adding: bailongma.txt (stored 0%)
houge.txt bailongma.txt houma.zip
[root@hadoop101 ~]# unzip houma.zip
extracting: bailongma.txt
houge.txt bailongma.txt houma.zip
(3)解压mypackage.zip到指定目录-d
[root@hadoop101 ~]# unzip houma.zip -d /opt
[root@hadoop101 ~]# ls /opt/
tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
[root@hadoop101 opt]# tar -zcvf houma.tar.gz houge.txt bailongma.txt
houma.tar.gz houge.txt bailongma.txt
[root@hadoop101 ~]# tar -zcvf xiyou.tar.gz xiyou/
[root@hadoop101 ~]# tar -zxvf houma.tar.gz
[root@hadoop101 ~]# tar -zxvf xiyou.tar.gz -C /opt
[root@hadoop101 ~]# ll /opt/
df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)
[root@hadoop101 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 15G 3.5G 11G 26% /
tmpfs 939M 224K 939M 1% /dev/shm
/dev/sda1 190M 39M 142M 22% /boot
[root@hadoop101 /]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005e654
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 1332 10485760 83 Linux
/dev/sda3 1332 1593 2097152 82 Linux swap / Solaris
对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录、一个独立且唯一的文件结构。
Linux中每个分区都是用来组成整个文件系统的一部分,它在用一种叫做“挂载”的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个分区将使它的存储空间在这个目录下获得。
0)挂载前准备(必须要有光盘或者已经连接镜像文件)
mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)
umount 设备文件名或挂载点 (功能描述:卸载设备)
[root@hadoop101 ~]# mkdir /mnt/cdrom/ 建立挂载点
[root@hadoop101 ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/ 设备/dev/cdrom挂载到 挂载点 : /mnt/cdrom中
[root@hadoop101 ~]# ll /mnt/cdrom/
[root@hadoop101 ~]# umount /mnt/cdrom
[root@hadoop101 ~]# vi /etc/fstab
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
ps aux | grep xxx (功能描述:查看系统中所有进程)
ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
TIME:该进程占用CPU的运算时间,注意不是系统时间
C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
如果想查看进程的CPU占用率和内存占用率,可以使用aux;
[root@hadoop101 datas]# ps aux
[root@hadoop101 datas]# ps -ef
kill [选项] 进程号 (功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
[root@hadoop101 桌面]# kill -9 5102
[root@hadoop101 桌面]# killall firefox
[root@hadoop101 datas]# pstree -p
[root@hadoop101 datas]# pstree -u
[root@hadoop101 atguigu]# top -d 1
[root@hadoop101 atguigu]# top -i
[root@hadoop101 atguigu]# top -p 2575
执行上述命令后,可以按P、M、N对查询出的进程结果进行排序。
netstat -anp (功能描述:此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容)
[root@hadoop101 hadoop-2.7.2]# netstat -anp | grep 火狐浏览器进程号
udp 0 0 192.168.1.101:33893 192.168.1.2:53 ESTABLISHED 4043/firefox
udp 0 0 192.168.1.101:47416 192.168.1.2:53 ESTABLISHED 4043/firefox
unix 2 [ ACC ] STREAM LISTENING 28916 4043/firefox /tmp/orbit-atguigu/linc-fcb-0-382f8b667a38a
unix 3 [ ] STREAM CONNECTED 28919 4043/firefox /tmp/orbit-atguigu/linc-fcb-0-382f8b667a38a
[root@hadoop101 ~]# service crond restart
[root@hadoop101 ~]# crontab -e
(1)进入crontab编辑界面。会打开vim编辑你的工作。
(1)每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字
*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt