linux基本命令

Posted z街角的风铃y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基本命令相关的知识,希望对你有一定的参考价值。

Linux

1.1   Linux的简介

开源,稳定,漏洞少,一般的靠谱一点的公司都用它.

Linux是一套免费的使用和自由传播的类Unix操作系统

 

  1. Linux的文件结构

 

 

 

 

1.2   项目结构

  • /bin (/usr/bin 、 /usr/local/bin)
    • 是Binary的缩写, 这个目录存放着最经常使用的命令
    • /sbin    (/usr/sbin 、 /usr/local/sbin)
      • s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
    • /home
      • 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
    • /root
      • 该目录为系统管理员,也称作超级者的用户主目录。
    • /lib
      • 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
    • /lost+found
      • 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
    • /etc
      • 所有的系统管理所需要的配置文件和子目录
    • /usr  
      •  这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
    • /boot ★
      • 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里
    • /proc
      • 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    • /srv
      • service缩写,该目录存放一些服务启动之后需要提取的数据。
    • /sys
      •  这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
    • /tmp
      • 这个目录是用来存放一些临时文件的。
    • /dev
      • 类似于windows的设备管理器,把所有的硬件用文件的形式存储。
    • /media
      • linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
    • /mnt
      • 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。
    • /opt       
      • 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
    • /usr/local
      • 这是另一个给主机额外安装软件所摆放的目录。一般是通过编译源码方式安装的程序。
    • /var  
      • 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
    • /selinux
      • SELinux是一种安全子系统,它能控制程序只能访问特定文件。

1.3三种模式:

  1. 一般模式
  2. 编辑模式
  3. 命令模式

1.1.1三种模式之间的切换

 

 

 

  1. 帮助手册

a)       Man

b)       –help

  1. 日期类

a)       Date , cal

date +%Y-%m-%d\' \'%H:%M:%S

 

  1. 现实当前目录 : pwd
  2. cd切换目录

a)       cd.. 返回上一层目录

b)       cd / 返回至/

c)        cd~ 返回家目录

d)       cd /etc/sysconfig 通过结对路径访问(利用tab键)

e)       cd ./sysconfig 通过相对路径访问

  1. ls

a)       -a全部文件,连同隐藏文件

b)       -l 列出详细的列表 别名ll

c)        列表信息

 

 

d)      

e)       D开头就是目录

f)         -是文件

  1. Grep

a)       配合显示内容得名,根据跟随的内容现实,该行内容

b)       例如:ls-l | grep xxx

10.  mkdir     (建立一个新的子目录(DOS命令))

-p  可以一下建好多级目录

例: mkdir 目录名

  1. Touch(接触)

a)       新建一个文件

b)       touch  aa.conf

  1. rmdir(删除目录)

a)       删除一个空目录

b)       例: rmdir  dirname

 

  1. Rm

a)    移除文件或目录

b)   -rf 递归删除所有目录内容,不提示

  1. Cp(复制)

a)   cp  【要复制的文件】 【到哪里】

b)   -r 递归复制整个文件夹

c)    -v 显示复制过程中文件的列表

d)   强制覆盖不提示的方法

                                                i.        临时方法:用\\cp

  1. mv

a)   mv   oldFileName   newFileName      重命名

b)   mv    /temp/movefile      /targetFolder     移动文件

  1. cat

a)   cat  文件名   查看轻量级的文本文件

b)   cat  文件1  文件2   连接显示多个文件

c)    cat 文件1  文件2 > 文件3 合并为新文件

  1. more(更多)

a)   查看较长的文件

b)   空白键 (space):代表向下翻一页

c)    Enter:代表向下翻一行

d)   q:代表立刻离开 more ,不再显示该文件内容。

e)   Ctrl+F 向下滚动一屏

f)     b 返回上一屏

  1. Less(较少)

a)       同more类似,比more功能更多。

b)       [pagedown]:向下翻动一页;

c)        [pageup] :向上翻动一页;

d)       /字串    :向下搜寻『字串』的功能;

e)       ?字串    :向上搜寻『字串』的功能;

f)         n        :重复前一个搜寻 (与 / 或 ? 有关!)

g)       N        :反向的重复前一个搜寻 (与 / 或 ? 有关!)

  1. Tail(尾部) head(头部 )

a)       从尾部开始查看,比较适合查看日志

b)       -f 跟随查看,实时查看数据

c)        -n200  显示的行数,n可以省略。

  1. History(历史)

a)       查看历史命令

  1. echo

a)       输出环境变量

b)       在shell脚本中当system.out.print用

  1. Find(发现)

a)       查找文件,提供了丰富的模糊搜索及条件搜索

b)       find+搜索路径+参数+搜索关键字

c)        按文件名:find   /home/esop   -name   \'*.txt\'    根据名称查找/目录下的filename.txt文件。

  1. Locate(定位)

a)       查找文件,查询速度更快,使用更方便。

b)       运行前需要 执行updatedb来更新文件索引。

  1. 软链接

a)       也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。

b)        命令  ln –s 原文件或目录名   软链接名

c)        查询:通过 ls -l  就可以查看,列表属性第1位是l,尾部会有位置指向。

25. yum install para  yum安装软件

1.4 vi和vim的区别:

Vi是白色

Vim是彩色

 

软连接

       也成为符号

 

1.5       分区  (磁盘分区类)

一.   Mbr

  1. 只支持4个主分区
  2. 系统只安装主分区
  3. 扩展分区占一个主分区

二.   Gpt

  1. Win7  64位以后支持
  2. 无线主分区
  3. 支持4t以上的硬盘

 

 

 

  • 查看所有设备挂载情况
    • 命令 :lsblk  或者 lsblk -f
    •  

       

1.1.1           向虚拟机增加一块硬盘

  1. 1.      虚拟机插硬盘

a)       虚拟机增加硬盘

b)       在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,至到完成。然后重启系统!

c)      

 

 

  1. 2.      分区

a)       分区命令       fdisk /dev/sdb

                                i.            开始对/sda分区

  1. 1.       m   :显示命令列表
  2. 2.       p     :显示磁盘分区
  3. 3.       n     :新增分区
  4. 4.       d     :删除分区
  5. 5.       w    :写入并退出

b)       开始分区后输入n:(新增分区),然后选择p分区类型为主分区.两次回车默认剩余全部空间,最后w:(写入分区并退出),如果不保存就按p退出

c)      

 

 

d)      

 

 

  1. 3.      格式化

a)       格式化磁盘

                                i.            分区命令: mkfs -t ext4 /dev/sdb1

                               ii.            其中ext4是分区的类型

  1. 4.      挂载

a)       挂载

                                i.            将一个分区与一个目录联系起来

                               ii.            Mount 设备名称 挂载目录

  1. 1.       例如: mount /dev/sdb1 /newdisk
  2. 2.       Umount 设备名称 或者 挂载目录

a)       例如: umount /dev/sdb1 或者 umount /newdisk

  1. 3.       命令行挂载重启后会失效

b)       永久挂载

                                i.            通过修改/ect/fstab实现挂载

                               ii.            添加完成后 执行mount -a 立即成效

  1. 5.      磁盘情况查看

a)       hf -h

                                i.            查询系统整体使用情况

 

 

 

b)       du -h  /目录

  1.                                  i.            查询指定目录的磁盘占用情况,默认为当前目录
  2.                                ii.            -s 指定目录占用大小汇总
  3.                               iii.            -h 带计量单位
  4.                               iv.            -a 含文件
  5.                                v.            --max-depth=1  子目录深度
  6.                               vi.            -c 列出明细的同时,增加汇总值

例:  du  -ach  --max-depth=1   /opt

1.6       Ifconfig  (网络配置)

1.1.1           查看网络配置ip addr

c)        查看网络配置

d)       如何修改IP

e)       图形化操作

f)         命令行方式   vi  /etc/sysconfig/network-scripts/ifcfg-en0s3

 

DEVICE=eth0    #接口名(设备,网卡)

BOOTPROTO=static     

# IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)

BROADCAST=192.168.1.255    #广播地址

HWADDR=00:0C:2x:6x:0x:xx   #MAC地址

IPADDR=192.168.1.23                 #IP地址

NETMASK=255.255.255.0            # 网络掩码

NETWORK=192.168.1.0                #网络地址

ONBOOT=yes              #系统启动的时候网络接口是否有效(yes/no)

TYPE=Ethernet                       #网络类型(通常是Ethemet)

 

g)       vim /etc/sysconfig/network-scripts/ifcfg-eth0

h)       刷新网络设置

i)         service  network restart

1.7       ps   (进程类)

  •  ps
    • ps –aux|grep xxx
      • System V展示风格
      • USER:用户名称
      • PID:进程号
      • %CPU:进程占用CPU的百分比
      • %MEM:进程占用物理内存的百分比
      • VSZ:进程占用的虚拟内存大小(单位:KB)
      • RSS:进程占用的物理内存大小(单位:KB)
      • TT:终端名称,缩写 .
      • STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
      • STARTED:进程的启动时间
      • TIME:CPU时间,即进程使用CPU的总时间
      • COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
    • ps
      • ps -ef|grep xxx
        • 是BSD风格
        • UID:用户ID
        • PID:进程ID
        • PPID:父进程ID
        • C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高
        • STIME:进程启动的时间
        • TTY:完整的终端名称
        • TIME:CPU时间
        • CMD:启动进程所用的命令和参数

综上:

  • 如果想查看进程的CPU占用率和内存占用率,可以使用aux
  • 如果想查看进程的父进程ID可以使用ef

 

  • pid
    • 每个进程都有一个pid作为唯一标识。
    • Kill
      • Kill pid 通过唯一标识pid杀死进程的工程
    • Killall
      • Killall name 通过进程名杀死进程
    • 运行级别(runlevel)

 

 

 

 

 

    • 查看运行级别 : vi /ect /inittab
    • 1.5       Linux用户与权限管理

      • 用户

      Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

      • 新增用户:useradd  新用户名
      • 设置密码: passwd  用户名
      • 用户是否存在:id  用户名
      • 切换用户:su  –  切换用户名
      • 查看当前用户/登录用户:whoami/ who am I
      • 删除用户:userdel
      • 用户组
        • 类似于角色,系统可以对有共性的多个用户进行统一的管理。
        • 新增组:groupadd 组名
        • 删除组:groupdel 组名
        • 修改用户的组:usermod  –g 用户组 用户名
        • 增加用户时直接加上组:useradd  –g 用户组 用户名
      • 系统中用户和组的相关文件
        • 用户(user)的配置文件: /etc/passwd
        • 每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
        • 口令的配置文件: /etc/shadow
        • 每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
        • 组(group)的配置文件: /etc/group
        • 每行含义:组名:口令:组标识号:组内用户列表
      • 文件的全限管理
      •  

         

        • 再说ls -l
        • 0-9位说明
        • 第0位确定文件类型(d, - , l , c , b)
        • 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。---User
        • 第4-6位确定所属组(同用户组的)拥有该文件的权限,---Group
        • 第7-9位确定其他用户拥有该文件的权限 ---Other
      • 作用到文件
        • 作用到文件
        • [ r ]代表可读(read): 可以读取,查看
        • [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
        • [ x ]代表可执行(execute):可以被系统执行
      • 作用到目录
        • 作用到目录
        • [ r ]代表可读(read): 可以读取,ls查看目录内容
        • [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
        • [ x ]代表可执行(execute):可以进入该目录
      • chmod
        • 第一种方式:+ 、-、= 变更权限
        • u:所有者  g:所有组  o:其他人  a:所有人(u、g、o的总和)
        •  chmod   u=rwx,g=rx,o=x   文件目录名
        •  chmod   o+w    文件目录名
        •  chmod   a-x    文件目录名
        • 第二种方式:通过数字变更权限
        •  r=4 w=2 x=1        rwx=4+2+1=7
        •  chmod u=rwx,g=rx,o=x    文件目录名
        • 相当于 chmod   751  文件目录名

       

       

       

      • chown
        • chown  newowner  file  改变文件的所有者
        • chown newowner:newgroup  file  改变用户的所有者和所有组
        • -R   如果是目录 则使其下所有子文件或目录递归生效
        • chgrp
          • chgrp newgroup file  改变文件的所有组

以上是关于linux基本命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习之路命令基本格式

linux 详解useradd 命令基本用法

Linux常用基本命令(六)

Linux常用基本命令大全介绍

linux基本命令

Linux命令-命令的基本格式