快捷键
man command 查看command的用法
command --help 查看command的用法
Info command 查看command的信息
基本操作和命令
Ctrl+R 查找历史输入过的命令
Ctrl+C ctrl+z 终止或退出当前操作
Table键的使用
- 自动补全命令或目录
- 在某个目录下只有一个目录的时候可以不用输入首字母直接敲table即可自动补全目录
- 双击table时一般为显示所有命令或者列出某个目录下的所有目录和文件
配置常用命令
1、修改主机名 (修改主机名需要重启虚拟机 reboot 或 init 6)
vi /etc/sysconfig/network
2、修改IP (重启网卡 service network restart)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:32:1A:94
TYPE=Ethernet
UUID=c0bf142f-045e-466f-910b-ef80c9152a2a
ONBOOT=yes
IPADDR=192.168.216.15
PREFIX=24
NETMASK=255.255.255.0
GATEWAY=192.168.216.2
DNS1=8.8.8.8
DNS2=114.114.114.114
NM_CONTROLLED=yes
BOOTPROTO=static
DEFROUTE=yes
NAME="System eth0"
3、防火墙设置
查看防护墙状态
service iptables status
关闭
service iptables stop
查看防火墙开机启动状态 (查看是否随机自启动服务,几种启动方式)
cat /etc/inittab
chkconfig iptables --list
关闭开机启动
chkconfig iptables off
Linux系统级别命令
1、查看当前Linux系统信息
uname -a 显示系统及版本的所有信息
uname -r 显示内核版本
uname -m 显示计算机是多少位系统
cat /proc/version (Linux查看当前操作系统版本信息)
cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息)
2、查看系统小版本
cat /etc/redhat-release
3查看当前主机名
hostname
4、查看第一个网卡
ifconfig eth0
5、查看和设置系统时间
date
date -s "2015-5-8 19:48:00"
设置时区
执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->
TZ='Asia/Shanghai'; export TZ
6、设置系统时间同步到硬件时钟
hwclock --systohc
7、 查看进程
ps -fe | grep redis
8、显示当前在运行的进程包括对CPU 内存使用量
top -s
9、管道:|
cmd1 | cmd2 将cmd1输出结果交给cmd2命令来执行
10、 grep过滤
# grep //输出包含指定字符串的行
-i //忽略大小写
-v //取反
--color //突出显示查找字符串
grep -i -r FAILED /var/log/ 过滤池log中含faled字段的文件
11、 重新启动Linux操作系统
reboot
Init 6
12、 关闭Linux操作系统
shutdown -h now
init 0
13、 图形和命令行转换
vi /etc/inittab
init 3 命令行模式
init 5 图形化
14、 显示守护进程目录树
Pstree 或者 pstree -p (显示pid)
15、 显示所有正在运行的进程
ps -aux
16、 显示所有正在运行java 进程/
jps
17、结束正在运行的指定进程(参照33)
kill -9 pid
18、 linux 不进去系统更改root密码
- 在grub选项菜单按e进入编辑模式
- 编辑kernel那行 输入” 1”(空格1),然后按enter键。
- 按b重启
- 进入后执行下列命令
root@#passwd root (配置root的密码)
Enter new unix password:输入新的密码
root@#init 6
19、 wget url 通过命令下载网页
wget http://192.168.21.41/lrzsz.rpm
Linux磁盘与U盘操作
1 、显示系统的磁盘空间用量
df -h //显示磁盘分区信息
mkfs.ext4 /dev/sdb1 //格式化硬盘分区
fdisk -l //查看磁盘分区
fdisk /dev/sdb //硬盘分区51显示磁盘分区
du -h -s 目录 //查目录使用大小
2 、挂载
mount -t vfat /dev/sdb1 /media/umnt //挂载
mount -o remount rw / //重新挂载,或者将根目录以读写方式重新加载
umount /media/umnt //卸载
3 、文件系统修复
fsck -y /dev/sda1 (修复的可以是分区可以是目录,最好在单用户模式下使用)
//linux文件格式
ext4 ext3 ext2 vfat(fat32)
//windows文件格式
ntfs fat32 exfat
Linux账号与组操作
1、 账户
超级账户 root uid = 0
普通账户 uid > = 500
系统账户 uid = 1 ~ 499
/etc/passwd //保存账户的信息
/etc/shadow //保存账户密码信息
/root //root用户家目录
/home/xxx //普通用户xxx的家目录
2、 添加和删除用户 useradd
# useradd //创建用户
-u 指定uid
-d 指定家目录
-s 指定使用shell
-e 指定用户过期时间
-g 指定基本组
-G 指定附加组
# useradd openlab
# gpasswd -a openlab gropenlab //将用户加入到组中
# gpasswd -d openlab gropenlab //将用户从组中删除
# echo "123456" | passwd --stdin feige //不通过交互信息,直接改用户密码
# userdel //删除用户 不删除用户文件
# userdel -r //连主目录一起删除
# id openlab //显示用户信息
3、 :创建用户组
groupadd manager
4、 创建用户
useradd -G manager tom
useradd -G manager tom2
5、更改密码方式1
passwd tom
6、更改密码方式2
echo "root" | passwd --stdin root //不通过交互信息,直接改用户密码
7、 删除指定的账号
userdel tom2
8、锁定帐户 tom2 禁止其登录
usermod -L tom2
9、切换当前用户帐户为 admin
su - admin
10、. 显示当前登录用户帐户
whoami
11、 查看系统文件判断添加用户组添加用户操作是否正确
cat /etc/passwd
cat /etc/group
Linux下文件权限介绍
1、查看当前位置
pwd
2、显示当前目录的文件列表
ls -l
3、递归显示/目录的文件列表
ls -R /data0
4、显示文件或文件夹详细信息
权限:读取\写入\可执行
归属关系: 所有者\所属组\其他用户
-|rw-|---|---. 1 root root 1771 4月 28 2015 anaconda-ks.cfg
①②③ ④⑤⑥ ⑦⑧⑨
①:文件类型
- 文件
d 目录
l 链接
②:所有者权限(u)
r 读 4
w 写 2
x 执行 1
③:所属组权限(g)
r 读 4
w 写 2
x 执行 1
④:其他用户权限(o)
r 读 4
w 写 2
x 执行 1
⑤:所有者
⑥:所属组
⑦:文件大小
⑧:最后修改时间
⑨:文件名
Linux文件文件夹操作
1 创建文件夹和文件 (指定目录和不指定目录的区别)
mkdir /tmp/test01 //创建空文件夹
mkdir /data1/hadoop/hdfs/name -p //创建多级文件夹
touch /tmp/test01/file.txt //创建空文件
vi file.log //创建空文件并进如编辑模式
echo > file.txt //创建file.txt并输入空到该文件中
2 复制文件
cp /tmp/file1.txt /opt
3 复制目录
cp -r /tmp/test01 /opt
4 移动,剪切,重命名
mv /opt/test01 /tmp
mv /opt/file1.txt /tmp/file2.txt
rename:批量命名
5 删除
rm //删除文件
rm -r //删除目录
rm -f //强制删除
rm –rf folder //常用命令 不可恢复
6 文件内容查看
cat -n //查看内容时显示行号
cat /etc/redhat-release //不显示行号
cat -n /etc/passwd //查看内容时显示行号
7 设置文件所有者拥有对文件读写执行权限
chmod 777 /data0/my.cnf
8 目录文件显示多行可上下翻查
less /etc/passwd
9 显示文件的头10行或尾10行
tail //默认查看文件尾10行
head //默认查看文件头10行
-n 数字 //查看指定头几行
# tail /etc/passwd
# head /etc/passwd
# tail -n 2 /etc/passwd
# head -n 3 /etc/passwd
# head -n 12 /etc/passwd | tail -n 5
10 重定向 > >>
> 先清空文件内容,后写入新的内容
# ls -l /root > /tmp/file1.txt
>> 追加新的内容,旧的内容不会消除
# ls -l /root >> /tmp/file1.txt
11 屏幕打印 echo
echo "Hello World..." //打印到屏幕
echo “hello word” /data0/my.cnf //打印到文件
echo “hello word” >> /data0/my.cnf //打印追加到文件
12 文本编辑器 VIM
vim file
:q //退出
:w //保存
:wq //保存退出
:q! //强制退出
13 打包 tar原理
-z 压缩
-c 打包
-x 解包
-f 必须要
-C 指定解包位置
-v 输出信息
/usr/bin/zip
/usr/bin/unzip
/bin/gzip
/bin/gunzip
14 打包tar案例(tar命令平常就代替了gz命令)
//将一个文件打包
# tar -cvf folder.tar file1.txt
//将多个文件打成一个包
# tar -cvf folder.tar file1.txt file2.txt
# tar –cvf file.tar *.jpg (常用方法)
//解包到当前目录
# tar -xvf folder.tar (常用方法)
//解包到指定目录
# tar -xvf folder.tar -C /home/sss
//将多个文件打包并压缩
# tar -zcvf file.tar.gz folder1 floder2
//将文件解包并解压缩
# tar -zxvf file.tar.gz (常用方法)
15 使用tar备份指定目录/data0/内容包括子目录中内容备份至 /data3/data0.tar.gz
tar -zcvf /data3/data0.tartar.gz /data0
16 恢复tar 文件中的内容/data3/data0.tar.gz 至 /data2
tar -zxvf /data3/data0.tar.gz -C /data2
17 给shell命令起别名
vi /etc/bashrc
在文件最后一行添加
alias cls=’clear’
保存退出后输入 #source /etc/bashrc 生效
18 修改指定文件文件的所属组所有者为hadoop用户/data3/data0.tar.gz
chown -r hadoop:hadoop /data3/data0.tar.gz
19 which cmd 查找cmd命令所在路径
# which reboot
20 locate 文件查找-效率很快(用的是数据库)
# locate httpd.conf //查找文件按所在
# updatedb //更新数据库,使之生效
21 find 文件查找-效率很慢
#find / -name httpd.conf
find 路径 条件
# find / -name httpd.conf
find 路径 条件 -exec cmd {} \;
# find / -name httpd.conf -exec ls -l {} \;
Linux 别名设置和取消(暂时性,终端或者是服务器关闭即失效):
查看命令别名:alias
设置命令别名:alias 别名='命令'
取消命令别名:unalias 别名
Linux 别名设置和取消(永久生效):
办法就是将别名的设置加入~/.bashrc文件,然后重新载入下文件就可以了。
$ vim ~/.bashrc
在文件最后面加入别名设置,如:alias rm=’rm -i’,保存后重新载入:
$ source ~/.bashrc
这样就可以永久保存命令的别名了。因为修改的是当前用户目录下的.bashrc文件,所以这样的方式只对当前用户有用。如果要对所有用户都有效,修改/etc目录下的bashrc文件就可以了。细看~/.bashrc文件,会发有这样一段代码:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
这个代码的意思就是加载.bash_aliases文件,centos已经帮我们考虑好了,所以也可以在用户根目录下新建一个文件.bash_aliases存放命令别名设置。
注意:alias这个命令是shell的内建命令,可以根据自己的使用习惯设置一些别名,需要注意的就是和其他命令冲突的情况。
特殊符号的含义:
cd ~
cd - #回退到上一次所在位置
cd ..
cd .
Linux网络与安全级别操作
1 、主机名配置文件
# vim /etc/sysconfig/network
HOSTNAME=teacher.tarena.com
# hostname teacher.tarena.com //临时修改
2、 主机与IP地址映射文件
# vim /etc/hosts //解析文件
10.0.0.10 www.baidu.com www
3、 常见服务端口
web tcp 80
telnet tcp 23
ssh tcp 22
ftp tcp 20/21
smtp tcp 25
pop3 tcp 110
imap tcp 143
dns tcp/udp 53
可以参考/etc/services
4、关闭防火墙
/etc/init.d/NetworkManager stop
# chkconfig NetworkManager off
# iptables -F
# chkconfig iptables off
# service iptables save
克隆后所需要进行的操作:
5、虚拟机改ip地址
1.vim /etc/udev/rules.d/70-persistent-net.rules
//eth0删掉 eth1改成eth0
2.vi /etc/sysconfig/network-scripts/ifcfg-eth0 注意MAC地址和UUID
手工配置
DEVICE=eth0
TYPE=Ethernet
UUID=d06a4eee-dd5c-45e5-afbc-38a8a8440bd9
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0C:29:74:E7:3E
IPADDR=192.168.10.11
PREFIX=24
GATEWAY=192.168.10.254
DNS1=192.168.10.254
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
6、改主机名和映射文件
vi /etc/sysconfig/network
vi /etc/hosts
service network restart
给虚拟机打一个快照(相当于在某个时刻点给该虚拟机照一张照片),类似window恢复。
7、 更改环境变量
export JAVA_HOME=/home/bigdata/jdk/
export HADOOP_HOME=/home/bigdata/hadoop/
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:
export PATH=$PATH:$JAVA_HOME/bin:/home/bigdata/protoc/bin:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:
使之生效
#source /profile
8、设置SSH
telnet:明文 ssh:加密 ssh 默认端口22
# ssh [email protected]
# ssh -l root 192.168.10.11
9、 上传文件 scp
# scp /tmp/love.txt [email protected]:/root/
# scp -P 30741 /tmp/love.txt [email protected]:/tmp/
10、 下载文件 scp
# scp [email protected]:/root/love.txt /tmp/ //只发目录
# scp -P 30741 [email protected]:/tmp/love.txt /tmp //对指定端口发生文件
# scp -r /tmp/hadoop [email protected]:/tmp/ //目录下的所有文件