标签:
用户和组
1、创建用户名 比如useradd beifeng
2、设置用户密码,比如passwd beifeng
3、删除用户:userdel 用户名
选项:-r 彻底删除用户信息
4、查看用户 id+用户名
5、退出用户:exit
设置主机名
*暂时性设置# hostname hadoop-senior.ibeifeng.com
*永久性设置:# vi /etc/sysconfig/network
设置:
NETWORKING=yes
HOSTNAME=hadoop-senior.ibeifeng.com
主机名与IP地址的映射
配置文件:
Linux环境下:
vi /etc/hosts
192.168.187.129 hadoop-senior.ibeifeng.com hadoop-senior
windows环境下:C:\Windows\System32\drivers\etc\hosts
192.168.187.129 hadoop-senior.ibeifeng.com hadoop-senior
开机启动网卡设置
ONBOOT=yes
服务设置
BOOTPROTO=none
1、DHCP 自动获取IP
2、static固定IP 实际工作中建议static
3、none 未指定和固定IP
测试
ping通外网需要设置DNS解析
DNS1=192.168.189.2
service network restart
配置网络服务解析位置:/etc/resolv.conf
查看网卡命令:# route -n
查看当前所在位置
pwd
etc存放的是系统的配置管理文件
home存放的是用户的主目录信息
root存放的是root用户的主目录信息
dev存放系统设备文件
boot存放的是系统启动加载的目录
系统命令存放在bin和sbin中
回到主目录
cd /
ls
查看目录里面的内容
ls:显示有哪些文件
ll/ls-l显示文件的详细内容
显示某字母开头,某个字母结尾
#ls | grep ‘^ns.*.conf$’
模糊查找
find .amin - 10#查找在系统中最后10分钟访问的文件
find . -atime -2 # 查找在系统中最后48小时访问的文件
find . -empty # 查找在系统中为空的文件或者文件夹
find . -group cat # 查找在系统中属于 groupcat的文件
find . -mmin -5 # 查找在系统中最后5分钟里修改过的文件
find . -mtime -1 #查找在系统中最后24小时里修改过的文件
find . -nouser #查找在系统中属于作废用户的文件
find . -user fred #查找在系统中属于FRED这个用户的文件
在当前目录搜索文件内容含有某字符串(大小写敏感)的文件:
find . -type f | xargs grep ‘your_string’
在当前目录搜索文件内容含有某字符串(大小写敏感)的特定文件:
find . -type f -name ‘*.sh’ | xargs grep ‘your_string’
在当前目录搜索文件内容含有某字符串(忽略大小写)的特定文件:
find . -type f -name ‘*.sh’ | xargs grep -i ‘your_string’
查找文件;
find +目录+文件名
find 命令选项:-name 通过文件名搜索
全盘查找:# find / -name init
在查找的过程中尽量的缩小查找的范围
# find /etc/sysconfig -name init
查找包含关键字的用法
# find / -name init
查找以init开头的文件# find /etc/ -name init*
通配符:*、?
* 匹配任意字符
?匹配单个字符
选项:-size
根据文件的大小来进行查询
指定方式:
1、+ 表示大于
2、— 表示小于
3、不加符号 表示等于
选项:-user
按照所有者查找
# find /root -user root
创建多层目录
mkdir -p /uml/movie/cartoon
删除目录:
rm -rf +绝对路径
删除目录和文件
文件# rm files.txt
目录# rm -r test/
[选项-r 表示删除目录;选项-f 表示强制操作]
rm dir (空目录)
同时创建多个文件
$ touch humanq.rmvb nezhao.mp4
复制文件并重命名
cp test.sh test1.sh(重命名)
cp 文件名 文件目录
cp -r 目录名 文件目录
[选项-r复制目录;选项-p保留原文件属性]
重命名与移动
mv src dest
重命名 src dest 在同一目录下
移动 src dest 不在同一目录下或者dest是目录,src是文件
创建链接(快捷方式)
软链接(soft link)
#|
硬链接(hard link)
#|$ ln file/dir linkname
区别:删除链接时是否删除原文件
查看
cat:查看全部的内容(少)
显示文件内容 # cat /etc/issue
倒过来显示文件内容# tac /etc/issue
more:分页查看文件内容(大)
tail:末尾内容查看【参数:-(行数,默认10)f】实时查看日志信息
查看文件末尾几行,默认不指定显示10行
tail -6 /etc/services
head:文件开头查看(内容的模式)
查看文件前几行,默认不指定显示10行
# head -5 /etc/passwd
设置普通用户的sudo权限
root ALL=(ALL) ALL:
1、root第一个是用户名
2、ALL被管理主机的地址可以使ALL 或者IP
3、(ALL)可以使用的身份,可以不写,默认root用户
4、ALL 要操作的命令
配置示例:
root ALL=(ALL)root ALL
beifeng ALL=/sbin/shutdown -r now
使用格式:
$ sudo shutdown -r now
编辑:#vi /etc/sudoers
在开头写入:root ALL=(ALL) ALL
ibeifeng ALL=(ALL) ALL
改变权限:#chmod 440 /etc/sudoers
防火墙的管理
(1)查看防火墙的状态 sudo service iptables status
(2)关闭防火墙:sudo service iptables stop
(3)开启防火墙:sudo service iptables start
文件管理
文件类型:文件(-)、目录(win7下的文件夹 d)、链接(win7下的快捷方式 l)
例子:
-rw-rw-r–. 1 ibeifeng ibeifeng 19728 Jun 5 16:57 bf-log.txt
第一部分:
- (文件类型) {rw- (拥有者u user)rw-(属于组 group g)r– (其他o other)}:表示此文件针对不同用户的权限
文件权限:r(可读 4)、w(可写 2)、x(可执行 1)-(没有任何权限)
r:读 可以查看文件 cat more tail head
w:写 创建删除文件 mkdir touch vi
x:执行 进入到目录文件中 cd
第二部分:
ibeifeng(拥有者) ibeifeng(所属组)
针对不同用户设置权限:
#chmod g/o/u +/- r/w/x 文件名称
#chmod 数字 文件名称
改变文件拥有者:
#chown ibeifeng 文件绝对路径
改变所属组:
#chgrp ibeifeng 文件绝对路径
针对目录改变(递归)
#chown -R ibeifeng 目录路径
同时改变(文件拥有、组):
#chown senior:senior 文件名
vi编辑器
vi/vim + 文件名
在vi/vim查看模式下:
dd:表示删除光标所在行的内容
ZZ:保存
x:表示光标处的字符删除
o:表示光标的下一行插入
w:表示保存写入
q:退出
!:表示强制操作
wq!可以连用
VI快捷方式:
1、显示行号:set nu(在编辑模式下进行)
2、删除单行:小写dd(在命令模式下进行)带有剪切功能
3、连续删除多行:比如三行就是小写3dd(在命令模式下进行)
4、黏贴:小写p(在命令模式下进行)
5、复制:小写yy(在命令模式下进行)
6、光标快速移动到文件末尾行,按大写G(在命令模式下进行)
7、光标快速移动到文件第一行,按小写gg(在命令模式下进行)
8、撤回上一步的操作,按小写u(在命令模式下进行)
9、光标快速移动到指定的行,比如:80(在编辑模式下进行)
10、替换,比如:1,$s/nologin/88888/g
1:代表第一行
$:代表最后一行
s: 代表替换
/:代表分割
g: 代表通行
1,$代表一个范围,比如:5,10或者 10,20
查看Linux系统信息
uname:查看系统名称
uname -r查看系统的具体信息
cat /proc/cpuinfo查看CPU信息
cat /proc/meminfo 查看内存信息
date 查看时间 【R】时区
cal +年份,显示某年份的日历表
设置系统时间
#date -s 2015-09-30 14:42:45
磁盘情况
显示已挂在分区的使用情况: sudo df -lh
显示目录的容量大小:du -sh /home/ibeifeng
显示磁盘详细信息:# fdisk -l
显示挂载磁盘信息: #mount
挂载磁盘:#mount /dev/sdb1 /data01
卸载磁盘:#unmount /dev/sdb1
查看系统内存的使用情况:free -M
查看进程信息:top -M
Linux下软件的安装方式
第一种:rpm方式
查看某个软件是否安装:
#rpm -qa | grep java
卸载已经安装的软件
#rpm -e –nodesps +软件名(多个用空格隔开)
安装软件:#rpm -ivh xxx.rpm
第二种方式:tar包
zip软件:
解压:
tar软件:
压缩:$tar zcvf dir/file
第三种方式:yum安装
安装jdk
(1)给tar包执行权限
(2)解压tar包 tar -zxvf +名称
(3)进入jdk目录下bin
(4)切换到root用户
(5)配置环境变量 vi /etc/profile
在文件最后插入
##JAVA_HOME
export JAVA_HOME = jdk的解压目录
export PATH=
(6)source /etc/profile重新启动
shell编程
shell程序是文本文件(批量操作Linux命令集合)该文件能够被shell解释执行,以.sh作为后缀名
变量使用
#参数的个数*/
{#arr[*]} 数组个数{arr[*]} 所有元素
arr[0] =chemical 赋值
for语句
脚本判断:
1、关于文档名的【文档类型】判断,如test -e filename表示
-e 该文档是否存在
-f 该文档名是否存在且为文档【file】
-d 该【文件名】是否存在且目录(directory)
2、关于档案的权限侦测 test -r filename
-r -w -x
3、关于两个整数之间的判定
-eq -ne
-gl -lt
-ge -le
4、判定字符串的数据
test -z String:string 为0,则为true
test -n String:string 为0,则为false
test str1=str2/str1!=str2
语法:for i in
do
命令序列(集合)
done
语法2:for((i=1;i<=10;i++));do
sum=$(($sum+$i))
done
while循环
语法1:while[ 条件 ]
do
命令序列(集合)
done
语法2:while read -r line
do
命令序列(集合)
done
read 表示从标准输入读取一行,并把输入的每个字段的指定给shell变量
选项:-r 代表允许使用特殊的字符包括反斜杠
line:表示变量名
案例:
#!/bin/bash
i=1
SUM=0
while [ $i -le 10 ]
do
SUM=$((SUM+i))
i=$[i+1]
done
echo $SUM
echo "-------------------------------------"
while read -r s
do
echo $s:Hello每一行的末尾每一行显示指定的字符用:隔开(原文件没有被修改)
done < /etc/passwd##通过小于符号将查看内容的文件传输给while命令,然后while要结合read命令
awk命令:
语法:awk ‘条件1 {动作1} 条件2 {动作2} 条件3 {动作3}...‘ 文件名
作用:可以格式化输出一些内容,printf
还可以输入控制流语句
管道符号同样支持AWK命令
$ awk ‘{printf $1 "\t" $5 "\n"}‘ gerry.txt
# df -h | awk ‘{print $1 "\t" $5}‘
选项:-F指定分隔符
printf与print的区别:
前者需要手动添加“\n”,后者不需要,自动添加
需求:
格式:用户名+HELLO,拿passwd文件来举例
反引号:代表预先执行
if语句
语法1:判断2是否等于2
#!/bin/bash
if [ 2 -eq 2 ]
then
echo YES
fi
如果不相等,则没有输出结果
if后必须空格,否则报错
if [ 3 -eq 2 ]
语法2:
判断tmp下有没有123目录,没有则创建
#!/bin/bash
if [ -d /tmp/123 ];then
ls /tmp/123
else
mkdir /tmp/123
fi
\反斜杠代表可以换行继续输入命令
case语句:
系统管理命令用户提示手册
#!/bin/bash
case $1 in
top)
top
;;
free)
free
;;
df)
df
;;
*)
echo "usgae:$0{top|free|df}"
esac
需求:用户输入一个字符,判断是否为字母、数字或者其他字符
并输入相应的提示信息
a-z A-Z 0-9
read -p "pree some key.then prees return :" KEY
case $KEY in
[a-z][A-Z])
echo "it is a letter"
;;
[0-9])
echo "it is a digit"
;;
*)
echo "it is hkjhkjbmn,k"
esac
Crontab计划任务
1、at --指定时间执行特定任务
用法;at +时间
at 1:23
at> cp /etc/passwd /tmpz 执行任务
先将系统时间调准确
date -s +“时间”
在某个时间点某一个时刻,想让系统完成一件事,就可以用at命令执行
2、周期性任务
crontab ---周期性执行任务
用法:crontab [-u 用户][-l][]
前提:开启服务器$ service crond status/start/stop
查看系统的服务,是否开机启动#/$chkconfig -list
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
数字代表启动级别
以/etc/passwd为例:每周三的凌晨2点备份passwd文件
第1列 第2列 第3列 第4列 第5列
分 时 日 月 周 cmd
* * * * * cmd标题
0 2 * * 3 cp /etc/passwd /tmp执行任务
5 1 10,25 * * rm -rf /tmp/*每个月10号和25号凌晨1点5分执行删除命令
*/10 * * * * ntpdate 时间服务器,每10分钟执行一次
0 1-6 * * * mkdir 每天1-6点执行
进入设置状态:#crontab -e
编辑命令:*/1 * * * * date >> /tmp/date.log
重启服务:$ service crond restart
查看信息:$ tail -f /home/ibeifeng/bf-log.txt
特殊符号
1、管道符号
用竖线表示:|
意思:将前面一个命令的输出结果传递给后面的命令处理
示例:# cat /etc/passwd | more
grep:表示过滤筛选的意思
结合管道符号一起使用,筛选过滤关键字
# cat /etc/passwd | grep ‘root’
# cat /etc/passwd | head -3
2、追加符号
用>>符号表示,注意要用英文输入法输入
注意,如果系统中追加文件不存在,则会自动创建
# ifconfig | grep ’ inet6 addr:’ >> /eth0.log
# head -3 /etc/passwd >> tmp.pass
3、覆盖符号
用>符号表示
# ifconfig | grep ’ inet6 addr:’ > /eth0.log
4、 wc命令
统计,可以统计字符数,单词数,行数
选项:-l行数,line
示例:# wc -l /etc/passwd
结合管道符号 wc连用:
示例:# head -3 /etc/passwd | wc -l
# ps -ef查看系统进程
# ps -ef | wc -l
5、man命令
按空格翻页查看
按:/选项 查找想要查看的指定信息
按小写n继续查找
按小写q退出浏览
磁盘分区与挂载
# fdisk -l 查看系统所有设备的信息(硬盘)
/dev/sda其中的sda表示系统中第一块硬盘
sda1代表这块硬盘中的第一个分区。。以此类推
Linux中通过文件来管理磁盘
brw-rw----. 其中b代表块,block的意思 ,块的设备文件
drw-rw----. 其中d代表目录,data的意思
都是一个占位符
cylinders:磁柱
起始磁柱start和结束磁柱end的概念
硬盘是有接口的:
sata、sas一般用于服务器接口比较多
scsi、idea 个人机器
磁盘分区步骤:
1、# fdisk /dev/sdb
2、 n add a new partition 按n
e extended :扩展分区
p primary partition (1-4) :主分区
一般企业中使用2+1或者3+1模式分区
2+1表示:2个主分区+1个扩展分区 一般会保留一个扩展分区
扩展分区不能直接拿来使用,必须再进行一个逻辑分区
# mkfs.ext4 /dev/sdb6
mkfs代表格式化命令
ext4代表Linux文件系统
挂载磁盘:
# mount /dev/sdb6 /mnt
挂载点目录必须存在,否则挂载失败
访问磁盘使用过挂载点,也就是它的唯一路口
mount命令,代表挂载磁盘,但是是临时生效
永久挂载需要写入配置文件:
路径:/etc/fstab 严格按照格式填写
标签:
原文地址:http://blog.csdn.net/gerry199102/article/details/51924700