linux

linux
安装VMare 
linux文件夹结构  一切都是文件
     bin    //二进制可执行命令
     sbin   // 系统管理命令,这里存放的是系统管理员使用的管理程序
     dev    //设备目录  光驱,磁盘,分区等
     etc    //系统管理和配置文件
     lib    //库文件,共享对象文件(so--shared object 等价于dll文件)
     home   //主目录   非root用户的普通用户
     root   //系统管理员的主目录
     usr    //用户的的一些文件,最庞大的目录

基本操作:  alt+ctrl //切换鼠标
           xxx  --help (-h)	 查看帮助  man ls    ---   info ls 
	   ls -al | more   查看更多信息
	   clear 清屏
	   which whoami  查询可执行文件的地址
           echo  $PATH        输出环境变量(区分大小写)echo${evn_name}
           cd ~
	   pwd 打印当前的工作目录
           su root切换用户
		ls -al列出目录  ls -alh人性化可读  ls -a显示全部文件   ls -l列表展示
		ifconfig 查看Ip
		find . | grep 
		rm -rf  xxx递归强制删除目录(文件)      rm -f
		mkdir 创建文件夹
		touch 创建文件
		echo helloWorld> hello.txt  覆盖模式
		echo helloWorld>> hello.txt 追加模式
		cat xxx直接查看文件内容
		nano  编辑器软件
		mv 同一目录移动就是重命名
		   不同目录下是移动操作
		head  -1  xxx    //查看文件头第一行
		tail  -1  xxx    //查看文件末尾第一行
		hostname 
		reboot重启  shutdown -r关机关电源      
		uname -a查看系统内核信息
		file xxx 查看文件类型
	归档与解档    tar   归档: tar -cvf  mytar.tar qingshu.txt xingchen.txt
                      tar   解档:   tar -xvf mytar.tar
                    参数的含义: -c产生.tar打包文件
		                 -v显示详细信息
				 -f指定压缩后的文件名
				 -z打包同时压缩
				 -x解包.tar文件

        压缩与解压随  gzip   压缩:gzip -1 mytar.tar  原地压缩,时间优先(空间优先-9)
	       tar -xzvf mytar.tar.gz解压tar      解压缩:gunzip  mytar.tar.gz        
 
	
linux目录 ~ 和/的区别 ?
    一般情况是这样的~指 /root/
     /指/ 
     那么~就是登陆用户的主目录就相当于他的房间或者理解为他自己的单元
     那么/就像是一栋房子
linux su和sudo命令的区别?
     su命令后回车表示切换当前的用户到root用户
     sudo 表示获取临时的root权限命令,sudo命令临时使用root权限来做一些普通账户无法完成的工作~ 
tar -tf  mytar.tar  查看tar下的文件
tar -rf  mytar.tar xxx 追加文件到tar中
xargs  将管道的输出内容合并成一行数据,使用空格分隔      find . | grep txt | cp 'xargs' dir  ''是按照命令行进行执行


linux链接文件
硬链接:两个完全相同的文件,占用2倍的磁盘空间。两者实时同步,删除一个文件,另外一个不删除
          ln hello.txt hello.txt.ln
符号链接:相当于快捷方式,不会占用过多的磁盘空间。如果源文件删掉,链接失效(不意味删除,红色)
          ln -s hello.txt hello.txt.ln

查看进程信息 ps -Af
杀死进程  kill  %1
对每行输出进行剪切处理  cut -c 1-  xxx //显示1以及以后的所有字符
                        cut -c -5  xxx //显示开始到5的所有字符
			cut -c 3-5 xxx //显示3-5的字符
fdisk
---------------
     查看磁盘信息,分区    sudo fdisk -l /dev/sda
     查看磁盘的使用情况    df -ah  ===disk free
dirname
----------------
      查看文件(夹)所在目录
      dirname /home/buntu           //输出/home
      dirname /home/buntu/how.txt   //输出/home/ubuntu
      
basename
----------------
       输出文件的基本名称(取出目录的部分)
       basename /home/ubuntu/how.txt        //输出how.txt 
       basename  /home/ubuntu/how.txt .txt  //输出how
       echo $(hostname)        //进行动态命令执行      

crtl + alt +F6 开启一个新的会画命令行

查看Linux内置命令的帮助
-----------------
    help export

文件和权限
-----------------
1、文件类型
       d     目录
       -     文件
       b     block
       l     link
2、权限
       Owner    主人
       group    组
       other
3、权限控制    (二进制运算)
       r     rwx    
             111=7
       w
       x
修改文件权限
-----------------
 chmod ugo+rwx 文件名
 chmod 777
 chmod ugo+=rwx 文件名     
 chmod -R 777 a递归更改文件权限

  linux怎么和windows通信


vim编辑器:一般模式,
           编辑模式: i  a   o
	   指令模式:  :  /   ?

mount/unmount 挂载/卸载
------------------
mount /dev/sda1 文件名
umount /dev/sda1 文件名


crontab系统定时任务
-------------
    crontab -e  编辑定时任务
    crontab -l  查询任务
    crontab -r  删除当前用户的所有任务

 *   *     *    *    * 执行的任务
分  小时  天   月  星期几
特殊符号:*/n  代表每隔多久执行一次。比如“*/10  *  *  *  *  命令”,代表每隔10分钟就执行一遍命令
          *    代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。

例:*/5 * * * * /bin/echo ”11” >> /tmp/test
    
rpm
--------------
  软件包管理工具
     rpm -qa查询安装的所有rpm软件包
     rpm -e 软件包名    卸载
     rpm -ivh 软件包名  安装
 

shell编程:Shell是解释执行的脚本语言,在Shell中可以调用Linux系统命令
-------------
1、shell脚本的执行方式
    脚本格式: 脚本以#!/bin/bash 开头
    常用执行方式 ./+脚本或 bash或sh+脚本 
2、shell中的变量:系统变量、自定义变量
   系统变量:$HOME、$PWD、$SHELL、$USER等等
		  定义变量:变量=值  A=100
		  撤销变量: unset 变量
		  声明静态变量 readonly 变量
   设置环境变量 export 变量名=变量值
                source配置文件  让修改后的配置信息立即生效
   将命令的返回值赋给变量 A=$(ls -la)等价于反引号
   位置参数变量 
                $n	(功能描述:n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10})
                $*	(功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)
		$@	(功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)
		$#	(功能描述:这个变量代表命令行中所有参数的个数)
		例:
		#!/bin/bash
		echo "$1    $2"
		echo "$*"
		echo "$@"
		echo "$#"
   预定义变量 
               $$		(功能描述:当前进程的进程号(PID))
               $?		(功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)
3、运算符
          $(())或$[运算式]
	  expr m + n 运算之间有空格
	  例: S=$[(2+3)*4]   echo $S

4、条件判断
        -lt小于  -eq等于  -gt等于
5、流程控制   :[ 条件判断式 ],中括号和条件判断式之间必须有空格  elif [ 条件判断式 ] then
     if语法 
	     if [ 条件判断式 ] then  
	       程序 
	      fi 

         case语法 
	      case $变量名 in 
		  "值1") 
	    如果变量的值等于值1,则执行程序1 
		    ;; 
		  "值2") 
	    如果变量的值等于值2,则执行程序2 
		    ;; 
		  …省略其他分支… 
		  *) 
		    如果变量的值都不是以上的值,则执行此程序 
		    ;; 
		esac
			   
     for语法
		 for 变量 in 值1 值2 值3…                                       
			  do 
			    程序 
			  done
-------------------

		for (( 初始值;循环控制条件;变量变化 )) 
		  do 
		    程序 
		  done

     while语法
             while [ 条件判断式 ] 
		  do 
		    程序 
		  done

 6、read读取控制台输入
      read -p:指定读取值时的提示符 -t:指定读取值时等待的时间(秒)
		#!/bin/bash
		read -t 7 -p "please 7 miao input your name " NAME
		echo $NAME

 7、函数
       系统函数:basename  功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。
                 dirname   功能描述:从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分)
       自定义函数:必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样先编译。
		#!/bin/bash

		function sum()
		{
		    s=0

		    s=$[ $1 + $2 ]

		    echo "$s"
		}

		read -p "Please input the number1: " n1;

		read -p "Please input the number: " n2;

		sum $n1 $n2;


linux下
1、查看网关/修改IP地址:编辑--虚拟网络编辑器-->NAT设置-->192.168.126.2
2、配置网络Ip地址: 
        0) 查看当前ip基本语法      ifconfig   
         
	1) 在终端命令窗口中输入    vim /etc/udev/rules.d/70-persistent-net.rules
                                 进入如下页面,删除eth0该行;将eth1修改为eth0,同时复制物理ip地址
         
	2) 修改IP地址 :vim /etc/sysconfig/network-scripts/ifcfg-eth0
                           需要修改的内容有5项:
				IPADDR=192.168.11.106
				GATEWAY=192.168.11.2
				ONBOOT=yes      源文件有
				BOOTPROTO=static  源文件有
				DNS1=192.168.11.2
	              :wq  保存退出
                      执行 service network restart
		      如果报错,reboot,重启虚拟机

3、配置主机名:
    0)查看主机名基本语法:hostname
    1)修改linux的hosts文件
        如果感觉此主机名不合适,我们可以进行修改。通过编辑vi /etc/sysconfig/network
             文件中内容
			NETWORKING=yes
			NETWORKING_IPV6=no
			HOSTNAME= hadoop102
			注意:主机名称不要有“_”下划线
             保存退出:wq
    2) 打开/etc/hosts
            vim /etc/hosts
                添加如下内容 192.168.11.102 hadoop102  根据自己的主机名而定

    3)并重启设备,重启后,查看主机名,已经修改成功

4、防火墙
      查看防火墙状态: service iptables status 
      临时关闭防火墙: service iptables stop
      查看防火墙开机启动状态  chkconfig iptables --list
      关闭防火墙开机启动      chkconfig iptables off
      开启防火墙开机启动      chkconfig iptables on
5、关机重启
       (1)sync  (功能描述:将数据由内存同步到硬盘中)
            shutdown –r now  系统立马重启
	    halt 关机


    su和sudo什么区别
      
 su '强制您将root密码分享给其他用户,而' sudo '则可以在不使用root密码的情况下执行系统命
   
   解压到指定目录,用什么命令?
      
tar -zxvf  jdk -C /opt/module
       
1) UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上.   
  
2) UNIX是商业软件,而Linux是自由软件,免费、公开源代码的.


http://spspcs.zybh.gov.cn/gjjspscww  企业申报     wangyy      111111


http://spglcs.zybh.gov.cn/gjjspscnw/ 数据管理      jdz 111111

  
查看端口 netstat -tunlp|grep 端口号
netstat -nltp

        sudo lsof -i:50070 -P




hadoop启动的各种问题

https://segmentfault.com/a/1190000006838239
运行出警告
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

https://blog.csdn.net/txd751466382/article/details/80464378

 

你可能感兴趣的:(linux)