linux(三)Linux Shell操作

Linux Shell操作

linux 命令的组成:
命令 参数 文件|路径
#ls -al /home

Linux系统级别命令

3.1查看当前Linux系统信息

uname -a 显示系统及版本的所有信息
uname -r 显示内核版本
uname -m 显示计算机是多少位系统

3.2查看系统小版本

cat /etc/redhat-release

3.3查看当前主机名

Hostname

3.4查看第一个网卡

ifconfig eth0

3.5查看和设置系统时间

date
	date  -s  "2015-5-8 19:48:00"
	设置时区
	执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->
TZ='Asia/Shanghai'; export TZ

3.6 :设置系统时间同步到硬件时钟

hwclock --systohc

3.7 查看进程

ps -fe | grep redis

3.8:显示当前在运行的进程包括对CPU 内存使用量

top  -s

3.9管道:|

cmd1 | cmd2	将cmd1输出结果交给cmd2命令来执行

3.10 grep过滤

# grep 		//输出包含指定字符串的行
		-i	//忽略大小写
		-v	//取反
		--color	//突出显示查找字符串
		

3.11 重新启动Linux操作系统

  reboot
    Init 6

3.12 关闭Linux操作系统

shutdown -h now
init 0
#### 3.13 图形和命令行转换
  vi /etc/inittab
  init 3	命令行模式
  init 5	图形化

3.14 显示守护进程目录树

 Pstree  或者  pstree  -p  (显示pid)

3.15 显示所有正在运行的进程
3.16 显示所有正在运行java 进程/

 jps  ps -aux

3.17结束正在运行的指定进程(参照33)

  kill -9 pid

3.18 linux 不进去系统更改root密码

  1.在grub选项菜单按e进入编辑模式
  2.编辑kernel那行  输入” 1”(空格1)
  3.按B重启存的
  4.进入后执行下列命令
  root@#passwd root (配置root的密码)
  Enter new unix password:输入新的密码
  root@#init 6

3.19 wget url 通过命令下载网页

wget http://192.168.21.41/lrzsz.rpm

Linux账号与组操作

3.22 账户

超级账户	      root  uid = 0
	普通账户	      uid > = 500
	系统账户	      uid = 1 ~ 499
	/etc/passwd	//保存账户的信息
	/etc/shadow	//保存账户密码信息
	/root		//root用户家目录
	/home/xxx	//普通用户xxx的家目录

3.23 添加和删除用户 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.24 :创建用户组

  groupadd manager

3.25 创建用户

  useradd -G manager tom
  useradd -G manager tom2
  

3.26 更改密码方式1

  passwd tom
  

3.27更改密码方式2

  echo "root" | passwd --stdin root  //不通过交互信息,直接改用户密码

3.28 删除指定的账号

  userdel tom2

3.29锁定帐户 tom2 禁止其登录

  usermod   -L tom2

3.30切换当前用户帐户为 admin

  su - admin
 

3.31. 显示当前登录用户帐户

  whoami
  

3.32 查看系统文件判断添加用户组添加用户操作是否正确

  cat /etc/passwd
  cat /etc/group

Linux下文件权限介绍

1- 2rw- 3rw- 4r–

  • 表示文件。
    rw- r read(读取)
    w write(写入)
    x execute(执行)
    2: 表示当前用户对文件的权限。
    3:表示当前组的用户对文件的权限。
    4:表示其他组的用户对文件的权限。

r4 w2 x1
Linux 文件的7个权限。
"0:无权限

1:可执行
2:可写
3:可执行、可写
4:可读
5:可读可执行
6:可读可写
7:可读可写可执行"

修改文件的权限:

Chmod 777 a.jpg:

修改文件的所有者:

Chown 张三:张三 a.jpg

关于用户和组的概念:
在用户的文件中。体现。

  • rwx rwx rwx 用户:用户组

创建两个用户:

Jack  lucy

创建两个组

Teacher   student

讲jack 添加到teacher组
讲lucy 添加到student 组。
使用jack在jack的目录中,创建文件。
使用lucy登录。查看lucy是否对jack的文件拥有权限。
如果没有,请添加给lucy权限。

2: 讲lucy和jack 放到同一个组中。匹配同组的权限。

在linux中,经常会遇到权限问题。很难。
给普通用户有个root权限。

Vi /etc/soduers
# huaqiang ALL=(root)NOPASSWD:ALL

如何使用 免密码的root权限。

#sudo 命令名。

3.33查看当前位置

  pwd

3.34显示当前目录的文件列表

 ls -l /data0

3.35递归显示/目录的文件列表

  ls -R /data0

3.36显示文件或文件夹详细信息

  权限:读取\写入\可执行
归属关系:	所有者\所属组\其他用户
	-|rw-|---|---. 1 root root 1771 428 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文件文件夹操作

3.37 创建文件夹和文件 (指定目录和不指定目录的区别)

  mkdir  /tmp/test01 		//创建空文件夹
  mkdir /data1/hadoop/hdfs/name -p		//创建多级文件夹
  touch	/tmp/test01/file.txt			//创建空文件
vi file.log   //创建空文件并进如编辑模式
cat test.log // 查看文件内容。

重定向

echo > file.txt  //创建file.txt并输入空到该文件中
echo > >file.txt  //创建file.txt并输入空到该文件中

3.38 复制文件

 cp /tmp/file1.txt /opt

3.39 复制目录

 cp -r /tmp/test01 /opt

3.40移动,剪切,重命名

  mv /opt/test01 /tmp
  mv /opt/file1.txt /tmp/file2.txt

3.41 删除

 rm			//删除文件
  rm -r			//删除目录
  rm -f			//强制删除
  rm –rf folder   	//常用命令 不可恢复

3.42文件内容查看

  cat -n					//查看内容时显示行号
  cat /etc/redhat-release	//不显示行号
  cat -n /etc/passwd 		//查看内容时显示行号

3.43设置文件所有者拥有对文件读写执行权限

 chmod 777 /data0/my.cnf

3.44 目录文件显示多行可上下翻查

  less /etc/passwd
  more install.log

3.45 显示文件的头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

3.46 重定向 > >>

> 先清空文件内容,后写入新的内容
		# ls -l /root > /tmp/file1.txt
	>> 追加新的内容,旧的内容不会消除
		# ls -l /root  >>  /tmp/file1.txt

3.47 屏幕打印 echo

   echo "No Hello World..."			//打印到屏幕
   echo “hello word” /data0/my.cnf		//打印到文件
   echo “hello word” >> /data0/my.cnf	//打印追加到文件

3.48 文本编辑器 VIM

  vim file
  :q		//退出
  :w		//保存
  :wq		//保存退出
  :q!		//强制退出
  显示行号:#set nu
 向右移动 --> l
    向左移动 --> h 
    向下移动 --> j
    向上移动 --> k 
保存当前修改并退出 --> ZZ 
 撤销上一步操作 --> u
  移动光标到行首 --> 0 (数字0) gg
  移动光标到行末 --> $ :G
  移动光标到当前页最顶行 --> H
  移动光标到当前页最底行 --> L
  向前翻一页(Page Up) --> Ctrl + f
  向后翻一页(Page Down) --> Ctrl + b
1)选定文本块,使用v进入可视模式;移动光标键选定内容
(2)复制选定块到缓冲区,用y;复制整行,用yy
(3)剪切选定块到缓冲区,用d;剪切整行用dd
(4)粘贴缓冲区中的内容,用p
1. 在使用vi编辑器编辑文本的时候直接跳到文件的首行的指令是_______.	gg, :0 
2. 在使用vi编辑器编辑文本的时候直接跳到文件的末行的指令是_______.	G,:$
3. 在使用vi编辑器编辑文本的时候一次性删除光标后的5行的指令是_______.	5dd
1. 在使用vi编辑器编辑文本的时候复制当前行附近的3行的指令是_______.	3yy
2. .在使用vi编辑器编辑文本的时候进入字符选择模式的指令是_______.	按v
3. .在使用vi编辑器编辑文本的时候进入块选择模式的指令是_______.	按ctril+v

在linux中安装JDK:
-1: 首先判断,在当前的linux中是否有已经安装的JDK。

 Java   javac    java -version

-2: 卸载之前已经安装的JDK;

   #sudo rpm -qa | grep JDK
      卸载JDK:
      #sudo rpm -e --nodeps (jdk版本)

3: 开始安装。

  • 3.1: 使用远程文件传输工具。将JDK的tar.gz 的安装包。发往linux。
    3.1.1: 首先在linux中创建三个文件夹》 softwares modules tools
 			 #sudo mkdir /opt/softwares 
             #sudo mkdir /opt/modules 
             #sudo mkdir /opt/tools

3.1.2: 修改三个文件夹的所有者:

   #sudo chown huaqiqng:huaqiang: softwares modules tools

3.1.3: 使用远程工具进行文件拷贝。
3.1.4: 解压JDK安装包:

#修改安装包的权限。
# chmod 764 jdk-7u67-linux-x64.tar.gz
开始解压:
#tar -zxvf jdk-7u67-linux-x64.tar.gz -C /opt/modules
- 4: 配置JDK的环境变量:

   /opt/modules/jdk1.7.0_67

4.1: #SET JAVA_HOME

export JAVA_HOME=/opt/modules/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin:

-5: 配置完环境变量。当前的系统无法识别。

  需要刷新资源文件:
  #source /etc/profile

-7: 进行测试。Java javac java -version

-8: 编写java文件。进行编译和执行。

3.49 打包 tar原理
-z 压缩
-c 打包
-x 解包
-f 必须要
-C 指定解包位置
-v 输出信息

3.49 打包tar案例(tar命令平常就代替了gz命令)

//将一个文件打包
# tar -cvf folder.tar file1.txt
//将多个文件打成一个包
# tar -cvf folder.tar file1.txt file2.txt
# tar –cvf file.tar *.jpg    (常用方法)
//解包到当前目录
修改文件权限:
#chmod u+x 00.tar 

# tar -xvf folder.tar     (常用方法)


//解包到指定目录
# tar -xvf folder.tar -C /home/sss
//将多个文件打包并压缩
# tar -zcvf file.tar.gz folder1 floder2  
//将文件解包并解压缩
# tar -zxvf file.tar.gz        (常用方法)

3.50 使用tar备份指定目录/data0/内容包括子目录中内容备份至

/data3/data0.tar.gz
  tar -zcvf /data3/data0.tartar.gz   /data0

3.51恢复tar 文件中的内容/data3/data0.tar.gz 至 /data2

 tar -zxvf  /data3/data0.tar.gz -C /data2  

3.52 给shell命令起别名

vi /etc/bashrc
在文件最后一行添加
alias cls=’clear’
保存退出后输入 #source /etc/bashrc 生效

3.52修改指定文件文件的所属组所有者为hadoop用户/data3/data0.tar.gz

  chown -r hadoop:hadoop /data3/data0.tar.gz

3.53 which cmd 查找cmd命令所在路径

  # which reboot

3.54 locate 文件查找-效率很快(用的是数据库)

  # locate httpd.conf  //查找文件按所在
  # updatedb		//更新数据库,使之生效

3.55 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的内建命令,可以根据自己的使用习惯设置一些别名,需要注意的就是和其他命令冲突的情况。

Linux网络与安全级别操作

3.56 主机名配置文件

# vim /etc/sysconfig/network
  	 HOSTNAME=teacher.tarena.com
   # hostname teacher.tarena.com	//临时修改

3.57主机与IP地址映射文件

   # vim /etc/hosts	//解析文件
10.0.0.10       www.baidu.com   www

3.58 常见服务端口

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

3.59关闭防火墙

  **/etc/init.d/NetworkManager stop
  # chkconfig NetworkManager off
  # iptables -F	
  # chkconfig iptables off 
  # service iptables save**

克隆后所需要进行的操作:

3.60虚拟机改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"

3.61改主机名和映射文件

 vi /etc/sysconfig/network
  vi /etc/hosts
  service network restart
给虚拟机打一个快照(相当于在某个时刻点给该虚拟机照一张照片),类似window恢复。

3.62 更改环境变量

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

3.63设置SSH

telnet:明文  	ssh:加密	ssh 默认端口22
# ssh root@192.168.10.11
# ssh -l root 192.168.10.11

3.64 上传文件 scp

# scp /tmp/love.txt root@192.168.10.11:/root/
# scp -P 30741 /tmp/love.txt root@192.168.1.11:/tmp/

3.65 下载文件 scp

# scp root@192.168.10.11:/root/love.txt /tmp/          //只发目录
# scp -P 30741 root@192.168.1.11:/tmp/love.txt /tmp	//对指定端口发生文件
# scp -r /tmp/hadoop root@192.168.1.11:/tmp/         //目录下的所有文件

3.66操作新linux系统流程

1.检查vmware上该虚拟机的网卡是否开启
2.检查vmware虚拟机的vm1网卡是否设置ip地址
3.关闭NetworkManager网络管理服务
4.关闭防火墙
5.更改ip地址
6.更改主机名称和主机映射
7.使用连接工具(xshell)进行连接
8.如果出现问题按照以上流程检查
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值