Linux命令

一.Linux目录结构

 

目录

作用

/

Linux系统的根目录,一般只存放目录

/bin和/usr/bin

命令(二进制)文件目录,包含可供root用户和普通用户所使用的Linux命令和二进制文件,包含shell解析器等

/boot

系统引导和内核目录,存放引导装载文件

/dev

设备目录,存放各个硬件设备的信息,例如光驱、硬盘等

/etc

系统级别的配置文件存放的目录,一般由配置管理员来使用

/home

所有普通用户的家目录

/lib、/usr/lib、

/usr/local/lib

系统使用的函数库的目录

/lost+fount

在ext2和ext3文件系统中,系统崩溃时记录信息的目录

/opt

给主机额外安装软件所摆放的目录

/proc

重要的需要放置在内存中的数据

/root

root用户的的根目录

/sbin、/usr/sbin

/usr/local/sbin

放置的是系统管理员(root)才能使用的命令,普通用户只能进行查看,而/bin目录中的命令普通用户也可以使用

/tmp

存放应用程序产生的临时数据不能在此目录下存放重要数据

/var

系统一般运行时需要改变的数据

/sys

系统相关文件存放目录

/usr

应用程序相关目录命令、函数库、共享包、内核源码

 

1.快捷键

基本操作和命令

Ctrl+R 查找历史输入过的命令

Ctrl+C 终止或退出当前操作

 

2.Table键的使用

①、自动补全命令或目录

②、在某个目录下只有一个目录的时候可以不用输入首字母直接敲table即可自动补全目录

③、双击table时一般为显示所有命令或者列出某个目录下的所有目录和文件

二. LinuxShell操作

1.     Linux系统级别命令

1.1 查看当前Linux系统信息

         uname-a          显示系统及版本的所有信息

         uname-r           显示内核版本

         uname–m        显示计算机是多少位系统

1.2 查看系统小版本

         cat/etc/redhat-release

1.3 查看当前主机名

         hostname

1.4 查看第一个网卡

         ifconfigeth0   eth0第一网卡

1.5 查看和设置系统时间

         date        查看时间

       date -s "2015-5-8 19:48:00"                   设置系统时间

1.6 设置时区

执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->

设置完后会出现Therefore TZ='Asia/Shanghai' will be used.

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

hwclock--systohc

1.8 查看进程

         ps -fe | grep redis                      查看进程 管道过滤 redis的进行

ps -ef | grep java                         检查java进程是否存在

1.9 PS是LINUX下最常用的也是非常强大的进程查看命令

//以下这条命令是检查java进程是否存在.

ps -ef |grep java

下面对命令选项进行说明:

-e 显示所有进程。

-f 全格式。

                  

ps e 列出程序时,显示每个程序所使用的环境变量。

ps f 用ASCII字符显示树状结构,表达程序间的相互关系

 

grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

 

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

top  -s

1.11 管道 |

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

1.12 grep过滤

         grep                 //输出包含指定字符串的行

                   -i       //忽略大小写

                   -v      //取反

                   --color       //突出显示查找字符串

1.13 重新启动Linux操作系统

    reboot

    init6

1.14 关闭Linux操作系统

shutdown -h now

init 0

1.15 图形和命令行转换

      vi /etc/inittab    可以修改开始默认模式  id:5:initdefault:  将5改为3,之后开机默认是命令模式,可以init 5 进入图形界面

  init 3                          命令行模式

  init 5                          图形化

     

1.16 显示守护进程目录树

  pstree

1.17 显示所有正在运行的进程

  ps -aux

1.18 显示所有正在运行java 进程

  jps

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

  kill -9 pid

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

  .grub选项菜单按e进入编辑模式

  .编辑kernel那行  输入” 1”(空格1

  .B重启存的

  .进入后执行下列命令

  root@#passwd root (配置root的密码)

  Enter new unix password:输入新的密码

  root@#init 6

1.21 wgeturl 通过命令下载网页

wget http://192.168.21.41/lrzsz.rpm

 

2.     Linux磁盘与U盘操作

2.1 显示系统的磁盘空间用量

       df –h        //显示磁盘分区信息

       mkfs.ext3 /dev/sdb1        //格式化硬盘分区

        fdisk -l       //查看磁盘分区

       fdisk /dev/sdb           //硬盘分区51显示磁盘分区

2.2 挂载 (将u盘挂载)

进入 /media(媒体) 文件夹,在里面创建upan文件夹 mkdir upan,然后进行挂载。

 

       mount -t vfat /dev/sdb1 /media/umnt             //挂载

        umount /media/umnt         //卸载

 

2.3 linux文件格式

ext4  vfat

2.4 windows文件格式

fat32  ntfs

3.     Linux账号与组操作

3.1 账户

         ①、超级账户         root  uid = 0

         ②、普通账户               uid > = 500

         ③、系统账户               uid = 1 ~ 499

         /etc/passwd             //保存账户的信息

         /etc/shadow             //保存账户密码信息

         /root                           //root用户家目录

         /home/xxx                 //普通用户xxx的家目录

3.2 添加和删除用户 useradd

         useradd   //创建用户

                  -u      指定uid

                  -d      指定宿主目录

                  -s      指定使用shell

                  -e      指定用户过期时间

                  -g      指定基本组    

                  -G     指定附加组

         useraddopenlab               //创建openlab 用户

         gpasswd-a openlab gropenlab               //将用户加入到组中

         gpasswd-d openlab gropenlab                 //将用户从组中删除

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

         userdel  //删除用户 不删除用户文件

         userdel-r   //连主目录一起删除

id openlab  //显示用户信息

        

3.3 创建用户组

  groupadd manager      创建一个manager用户组

  好处:可以统一的去管理用户

3.4 创建用户

  useradd -G manager tom   创建tom用户并分配到manager用户组

  useradd -G manager tom2

3.5 更改密码方式1

  passwd tom            更改tom 的密码 若不加passwd 更改的当前用户的密码

3.6 更改密码方式2

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

3.7 删除指定的账号

  userdel tom2

3.8 锁定帐户 tom2 禁止其登录

  usermod -L tom2

3.9 切换当前用户帐户为 admin

  su – admin               切换带admin用户

3.10 显示当前登录用户帐户

  whoami

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

  cat /etc/passwd

  cat /etc/group

4. Linux文件文件夹操作

4.1 查看当前位置

  pwd  显示当前的位置

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

  ls /home    显示home文件夹下的内容列表

  ls –l /home             显示根目录下的home文件下的文件列表

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

  ls -R /home              R必须是大写

4.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

                                        ⑤:所有者

                                        ⑥:所属组

                                        ⑦:文件大小

                                        ⑧:最后修改时间

                                        ⑨:文件名

 

4.5 创建文件夹和文件

  mkdir  /tmp/test01           //在根目录下的tmp文件夹中创建test01空文件夹

  mkdir  /data1/hadoop/hdfs/name -p                  //创建多级文件夹

  touch   /tmp/test01/file.txt                   //在根目录下的tmp文件夹中的test01文件夹创建空文件file.txt    Linux 是没有后缀名字,自行加入为了更直观的区分

4.6 复制文件

  cp /tmp/file1.txt /opt    //复制/tmp中的file1.txt文件到/opt中

4.7 复制目录

  cp-r /tmp/test01 /opt //递归的方式复制/tmp中的test01 文件夹到/opt中

4.8 移动,剪切,重命名

  mv/opt/test01 /tmp

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

4.9 删除

  rm file.txt            //删除file.txt文件

  rm-r data              //删除data目录(递归式删除)

  rm-f                        //强制删除

  rm –rfdata       //常用命令 不可恢复

4.10 文件内容查看

  cat-n                                        //查看内容时显示行号

  cat/etc/redhat-release       //不显示行号

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

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

  chmod 777 /data0/my.cnf                                  

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

  less/etc/passwd

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

4.13 重定向>   >>

         >先清空文件内容,后写入新的内容

                   #ls -l /root > /tmp/file1.txt

         >>追加新的内容,旧的内容不会消除

                   #ls -l /root  >>  /tmp/file1.txt

4.14 屏幕打印 echo

   echo"No Hello World..."                      //打印到屏幕

   echo “hello word” /data0/my.cnf                //打印到文件

   echo “hello word” >> /data0/my.cnf //打印追加到文件

4.15 文本编辑器 VIM

  vimfile

  :q          //退出

  :w                   //保存

  :wq                //保存退出

  :q!                  //强制退出

4.16 打包 tar原理

tar

  -c                                打包

  -x                                解包

  -f                                 必须要

  -C                               指定解包位置

  -v                                输出信息

      -z                                压缩

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

//将一个文件打包

# tar -cvf folder.tarfile1.txt

//将多个文件打成一个包

# tar -cvf folder.tarfile1.txt file2.txt

# tar –cvffile.tar *.jpg    (常用方法)

//解包到当前目录

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

//解包到指定目录

# tar -xvf folder.tar-C /home/sss

//将多个文件打包并压缩

# tar -zcvf file.tar.gzfolder1 floder2 

//将文件解包并解压缩

# tar -zxvf file.tar.gz        (常用方法)

 

4.18 使用 tar备份指定目录

//将/data0/内容包括子目录中内容备份至 /data3/data0.tar.gz

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

4.19 恢复 tar文件中的内容

/data3/data0.tar.gz 至 /data2

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

4.20 shell命令起别名

vi /etc/bashrc

在文件最后一行添加

alias cls=’clear’

保存退出后输入

source /etc/bashrc 生效

4.21 修改指定文件文件的所属组所有者为hadoop用户

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

4.22 which查找cmd命令所在路径

  # which reboot

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

  # locate httpd.conf    //查找文件按所在

  # updatedb                     //更新数据库,使之生效

4.24 find 文件查找-效率很慢

  # find / -name httpd.conf

  # find / -name httpd.conf

    find   路径  条件

  # find / -name httpd.conf -exec ls -l {} \;

      find  路径   条件   -exec cmd {} \;

5. Linux网络与安全级别操作

5.1 修改主机名

      # vim /etc/sysconfig/network

 

                 NETWORKING=yes

                 HOSTNAME=hadoop1   修改这里

                  别忘了重启文件

             # service network restart

 

       # hostname hadoop1         //临时修改

5.2 修改主机名与IP地址映射文件

      # vim /etc/hosts         //解析文件

            

             修改主机和IP之间的映射,因为程序之间是不记IP的只记主机名称,

              192.168.10.11 hadoop1

          

5.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

 

5.4 关闭防火墙

查看防护墙状态

service iptables status

关闭

service iptables stop

查看防火墙开机启动状态

chkconfig iptables –list

关闭开机启动

chkconfig iptables off

5.6 改虚拟机ip地址

  5.6.1 删网卡

     vim/etc/udev/rules.d/70-persistent-net.rules

            //eth0删掉  eth1改成eth0

                                      克隆的虚拟机需要删母版的网卡

  5.6.2 IP

 # 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"

 

                                       

# service networkrestart        //别忘了重启文件

 

5.7 更改环境变量

# vi /etc/profile                  //进入profile文件

 

exportJAVA_HOME=/home/bigdata/jdk/   //JDK安装路径

export HADOOP_HOME=/home/bigdata/hadoop/

exportCLASSPATH=.:$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 /etc/profile                 使之生效

 

 

5.8 设置SSH免登陆

         telnet:明文         ssh:加密        ssh 默认端口22

         #ssh [email protected]

         #ssh -l root 192.168.10.11

        

计算机A每次SSH远程连接计算机B时,都需要输入密码。当有些软件需要频繁使用SSH连接其他计算机时,这个时候需要人工填写计算机B的密码,这个会造成大量无用操作,不利于程序的使用。

在为了避免这类问题的发生,而且也要兼顾安全问题(设置SSH免密码登陆后,SSH这台计算就不需要密码即可登陆,存在安全隐患),使用公钥和私钥方式解决SSH免密码登陆问题,而且只在一边做,另一边不做,这样也达到了安全的问题。一般是那台机器需要SSH远程其他机器,就在这台机器上设置SSH免登陆操作。

"公私钥"认证方式简单的解释:首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)。然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了。

ssh 无密码登录要使用公钥与私钥。linux下可以用ssh-keygen生成公钥/私钥对.

5.8.1 方法一

①     、在master机下生成公钥/私钥对。

# ssh-keygen -t rsa

         连续按三次回车键就生成了钥匙

②     、追加到key文件当中

# cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

③     、将master机子上的key给其他机子上发送一份

# scp ~/.ssh/authorized_keysslave1:/root/.ssh/

# scp ~/.ssh/authorized_keysslave2:/root/.ssh/

         远程的发送给其他机器,前面在点的隐藏文件或文件夹

④     、测试

# ssh slave2               直接进入slave2不用密码

# exit                           退出链接

5.8.2方法二(推介)

1) 主机生成秘钥

# ssh-keygen -t rsa

 

2) 然后给每台机器拷贝一份,包括主机本身

# ssh-copy-id hadoop01

# ssh-copy-id hadoop02

# ssh-copy-id hadoop03

第一次拷贝需要送入密码

5.8.3方法

 

 

 

5.9  传送文件 scp

①传单个文件

         scp/home/bigdata/jdk-7u79-linux-x64.tar.gz hadoop2:/home/bigdata/

         //scp文件路径加文件名 接收方主机名字:保存路径

 

② 传送多个文件,用的是递归的方式

scp -r/home/bigdata/jdk1.7.0_79/ hadoop2:/home/bigdata/

5.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/        //目录下的所有文件

 

5.10  操作新linux系统流程

①  检查vmware上该虚拟机的网卡是否开启

② 检查vmware虚拟机的vm1网卡是否设置ip地址

③ 关闭NetworkManager网络管理服务

④ 关闭防火墙

⑤ 更改ip地址

⑥ 更改主机名称和主机映射

⑦ 使用连接工具(xshell)进行连接

⑧ 如果出现问题按照以上流程检查

 

三、克隆

克隆完需要改网卡,改IP,改UUID,改MAC地址,改主机名称

vi /etc/udev/rules.d/70-persistent-net.rules

 

将0网卡删了,因为他是母版机器的,然后将1网卡改成0

 

vi/etc/sysconfig/network-scripts/ifcfg-eth0

 

然后将MAC改了,MAC在克隆虚拟机的时候,会自动创建

Uuid随便改一个,改ip。

 

vi/etc/sysconfig/network      这个是改主机名字

 

NETWORKING=yes

HOSTNAME=hadoop2   修改这里

                                       

vi /etc/hosts                       hosts这个是改映射文件,主机和IP之间的映射,因为程序之间是不记IP的只记主机名称

 

  192.168.10.11hadoop1

192.168.10.12 hadoop2

                                       

init 6                               重启机器

 

 

四、快照

五、添加笔记

1.Linux安装软件有三种方式

           tar               减压安装

           rpm –ivh xxx.rpm       安装包安装,不需要联网

      yum             联网下载安装

 

           rpm -qa  可以查看安装的软件

           # rpm -qa|grep ntp          查找有ntp的安装

 

 


你可能感兴趣的:(Linux)