今天我们来玩玩一些Linux基础命令
首先我们先了解Linux文件系统
1、整个文件系统有一个顶层目录: /
bin:存放一些可执行的程序(命令)
boot: 存放系统启动所需要的一些文件
dev:系统中的设备(硬件在linux中通过“文件”来标识)
etc:存放配置文件的地方
home:用户目录的总目录,比如用户hadoop的主目录: /home/hadoop
lib lib64: 系统库目录
mnt:用于挂载外部存储设备的文件
root:是root用户的主目录
sbin:存储一些系统级的可执行命令,只有拥有root权限的用户才能执行
tmp:系统自带的一个临时目录
usr:unix shared resources,共享资源目录
命令
查看当前所在的工作目录的全路径 pwd
查看当前系统的时间 date
修改时间 date -s “具体时间”
查看服务器在线 who
查看最近的登录历史记录 last
立刻关机(必须root用户) shutdown -h now
10分钟以后关机 shutdown -h +10
12点整的时候关机 shutdown -h 12:00:00
重启 shutdown -r now==reboot
清屏 clear ==ctrl + l
退出当前进程 ctrl+c
进程挂起到后台 ctrl+z
查看job列 jobs
让进程在后台继续执行 bg id(就是[ ]里的数)
让进程回到前台 fg id(就是[ ]里的数)
杀掉 kill id(就是[ ]里的数)
进程 top
将指定进程号的进程杀死 kill -9 2358
echo
输出语句 (输出时必须在变量前加$)
[root@Tyler01 aaa]# a=“迷人的危险”
[root@Tyler01 aaa]# echo a
a
[root@Tyler01 aaa]# echo $a
迷人的危险
> 表示覆盖 >> 表示追加
[root@Tyler01 aaa]# echo "aaa" >aa.txt
[root@Tyler01 aaa]# cat aa.txt
aaa
[root@Tyler01 aaa]# echo "bbb" >aa.txt
[root@Tyler01 aaa]# cat aa.txt
bbb
[root@Tyler01 aaa]# echo "bbb" >> aa.txt
[root@Tyler01 aaa]# cat aa.txt
bbb
bbb
rename
rename 可以用来批量更改文件名
语法
rename(参数)
参数
原字符串:将文件名需要替换的字符串;
目标字符串:将文件名中含有的原字符替换成目标字符串;
文件:指定要改变文件名的文件列表。
实例
将main1.c重命名为main.c
rename main1.c main.c main1.c
vi
一些有用的快捷键(在一般模式下使用):
a 在光标后一位开始插入
A 在该行的最后插入
I 在该行的最前面插入
gg 直接跳到文件的首行
G 直接跳到文件的末行
dd 删除一行
3dd 删除3行
yy 复制一行
3yy 复制3行
p 粘贴
u undo 撤销
ctrl + r redo向前撤回
v 进入字符选择模式,选择完成后,按y复制,按p粘贴
ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴
shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴
打包解压
gzip a.txt 压缩
gunzip a.txt 解压
tar -cvf bak.tar 打包
tar -xvf bak.tar 解包
tar -zxvf a.tar.gz -C /usr 解压到/usr/下
将/etc/password追加文件到bak.tar中®
tar -rvf bak.tar /etc/password
查找命令
which ls 查找可执行的命令所在的路径
whereis ls 查找可执行的命令和帮助的位置
whoaim 当前登录的用户是谁
从某个文件夹开始查找文件
find / -name “hadooop*”
find / -name “hadooop*” -ls
grep命令
重点使用方法:(管道筛选) ls /etc | grep profile
文件权限操作
drwxr-xr-x (也可以用二进制表示 111 101 101 --> 755)
有字母的二进制是 1 -二进制是0
标识节点类型(d:文件夹 -:文件 l:链接)
r:可读 w:可写 x:可执行
第一组rwx: ## 表示这个文件的拥有者对它的权限:可读可写可执行
第二组r-x: ## 表示这个文件的所属组用户对它的权限:可读,不可写,可执行
第三组r-x: ## 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行
修改文件权限
chmod g-rw haha.dat ## 表示将haha.dat对所属组的rw权限取消
chmod o-rw haha.dat ## 表示将haha.dat对其他人的rw权限取消
chmod u+x haha.dat ## 表示将haha.dat对所属用户的权限增加x
chmod a-x haha.dat ## 表示将haha.dat对所用户取消x权限
chmod -R 770 aaa/ ##将一个文件夹的所有内容权限统一修改
也可以用数字的方式来修改权限
chmod 664 haha.dat
3 6 4
-wx rw- r–
111
22+21+2*0
就会修改成 rw-rw-r–
添加用户
添加一个用户:
1、 useradd spark
2、 passwd spark 根据提示设置密码;
删除一个用户:
userdel -r spark 加一个-r就表示把用户及用户的主目录都删除
添加一个tom用户,设置它属于users组,并添加注释信息
分步完成:useradd tom
usermod -g users tom
usermod -c “hr tom” tom
一步完成:useradd -g users -c “hr tom” tom
设置tom用户的密码
passwd tom
为用户配置sudo权限
用root编辑 vi /etc/sudoers
在文件的如下位置,为hadoop添加一行即可
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
然后,hadoop用户就可以用sudo来执行系统级别的指令
[hadoop@shizhan ~]$ sudo useradd huangxiaoming
文件大小
du -sh /mnt/cdrom/packages ## 统计指定路径下的所有子目录和文件的大小
df -h ##查看磁盘的剩余空间
系统服务管理
service --status-all # 查看系统所有的后台服务进程
service sshd status # 查看指定的后台服务进程的状态
service sshd stop
service sshd start
service sshd restart
配置后台服务进程的开机自启
chkconfig httpd on ## 让httpd服务开机自启
chkconfig httpd off ## 让httpd服务开机不要自启
chkconfig --list | grep httpd 筛选出httpd服务
主机名配置
1/ 查看主机名 hostname
2/ 修改主机名(重启后无效) hostname hadoop
3/ 修改主机名(重启后永久生效) vi /ect/sysconfig/network
域名映射
vi /etc/hosts
防火墙
防火墙管理
关闭防火墙:service iptables stop
查看防火墙:service iptables status
启动防火墙:service iptables start
禁止防火墙开机自动启动: chkconfig iptables off