一、基础知识

1、Linux简介

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIXUNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位64位硬件。Linux继承了Unix网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

简单点说,linux就是一个操作系统,和windows、mac的os x 一样。

Linux的版本号又分为两部分:内核(Kernel)版本和发行(Distribution)版本。内核版本的序号由3部分数字构成,其形式:2.4.20

Linux国外主要发行版本
  1.Red Hat Linux
  2.SuSE Linux
  3. Turbo Linux
  4. Ubuntu
   Linux国内主要发行版本
  1.红旗Linux【红旗Linux是由北京中科红旗软件技术有限公司开发的一系列Linux发行版,包括桌面版、工作站版、数据中心服务器版、HA集群版和红旗嵌入式Linux等产品。目前在中国各软件专卖店可以购买到光盘版,同时官方网站也提供光盘镜像免费下载。红旗Linux是中国较大、较成熟的Linux发行版之一】
  2.中标普华Linux【上海中标软件有限公司发布的面向桌面应用的操作系统产品】
  3. 蓝点Linux【蓝点软件技术(深圳)有限公司研发,早期研发个人桌面linux,但现蓝点(BluePoint)主要产品:防毒及邮件过滤 , 防火墙】

Linux内核版本号的含义:Linux内核版本由3个数字组成:r.x.y,
  r:目前发布的Kernel主版本
  x:偶数是稳定版本,奇数是开发中的版本 
  y:错误修补次数 
  一般来说,x位为偶数的版本表明这是一个可以使用的稳定版本,如: 2.6.18;x位为奇数的版本一般加入了一些新内容,不一定稳定,是测试 版本,如:2.7.22。 
查询内核版本命令: uname -r

2、Linux特点

1、开源的

2、强大的数据库支持

  支持Oracle、Sqlite、Sybase、DB2、MySQL、PostgreSQL

3、强大的网络功能

  可以充当应用服务器、文件服务器、打印服务器、邮件服务器、新闻 服务器等

4、支持多用户

  Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响【win只能一个用户连接,如果一个用户连接了win,其他人都不能再连接了;而linux支持多个用户可以同时连接同一台linux服务器】

5、支持多种文件系统

6、良好的可移植性

  Linux是世界上唯一能够在嵌入式设备、个人计算机、服务器、小型机甚至大型机上运行的操作系统

7、可靠性高

3、Linux远程登录工具

  1、telnet远程登录

2、SSH远程登录

  SSH远程登录常用工具:secureCRT/xshell/ssh命令远程登录等

  注:win下用ssh命令连接远程服务器,即命令: ssh 用户名&IP【需安装OpenSSHWindows包才有SSH命令】

  

4、Linux上传下载工具

1、Xftp、FileZilla、Winscp等工具

2、RZ、SZ命令

Rzsz需要在linux下安装:

a、Rzsz命令安装:使用yum安装,yum –y install lrzsz【需要网络】

b、编译安装:http://blog.chinaunix.net/uid-20639775-id-154615.html【不需网络】

缺点:RZsz命令只能上传文件,不能上传文件夹,如果上传文件夹必须将其压缩才可以上传

5、Linux系统管理

  1)、注销、重启命令

a、注销:exit(常用于字符界面,图形界面只关闭终端窗口)
           logout(仅文本终端)
  b、重启命令
  reboot
    -w:不实际关机,用户登录信息写入/var/log/wtmp
    -d:不将用户登录信息写入/var/log/wtmp
    -f:强制重启
    reboot 可以不接参数【直接重启】
  shutdown
    shutdown -r 延时分钟数 “提示信息”
    shutdown -r now(now表示立即执行)
    不能单独用,至少2个参数

c、关机
  halt
    -w:不实际关机,用户登录信息写入/var/log/wtmp  -d:不将用户信息写入/var/log/wtmp
       -f:强制关机
       -p:关机后,关闭电源
     可以不接参数
  poweroff
     除了无-p参数,其他与halt同
  init 0
  shutdown
    shutdown -h 延时分钟数 “提示信息”
    shutdown -h now(now表示立即执行)
    不能单独用,至少2个参数

  2)、图形化界面和文本界面

a、 /etc/inittab文件中的initdefault参数可以修改默认启动图形化界面还是文本界面,3为默认进入文本界面,5为默认进入图形化界面。

原因:虚拟机里只安装了文本界面,未安装图形化界面,如果initdefault改为5,重启虚拟机时,会一直按图形化界面启动但是系统又未安装图形化界面,所以启动不起来

b、文本界面下输入init5或者startx切换图形化界面;图形化界面下输入init3切换文本界面

c、一般默认进入文本界面

6、Linux用户、组

  1)、Linux用户

a、添加用户
  useradd -d 家目录 -g 组名 -G 组集合(逗号间隔) -p 密码 -s 用户shell程序 用户名
    useradd -d /usr/local/nginx/ -g nginx -G nginx,oracle -p123456 -s /bin/bash test4
  若没有使用-p,可以使用命令加密:passwd 用户名
   passwd test4
  可以不加参数直接useradd test5,添加一个用户,默认使用bash shell,家目录在/home/下
  看Linux中有哪些用户:进入home目录,在该目录下ls

b、修改用户
  usermod -l 新用户名 -d 新家目录 旧用户名
    usermod –l tom –d /usr/local/tomcat test4
  家目录要存在,且为绝对路径
  Usermod中同样可以使用useradd参数

c、删除用户
  userdel -r 用户名
    userdel –r test3
    -r用于删除家目录及其所有文件
  注:-c comment 指定一段注释性描述。
      -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
    -g 用户组 指定用户所属的用户组。
    -G 用户组,用户组 指定用户所属的附加组。
    -s Shell文件 指定用户的登录Shell。
    -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
  d、切换用户su
  用法: su root 或者 su - root
  这两者的区别是su root不会重新加载切换用户的用户变量,su - root会重新加载用户的用户变量
  注:$和#,$代表普通用户,#代表root用户

e、获取超级用户权限sudo
  用法:sudo reboot
  有一些命令是普通用户没有权限操作的,所以要用sudo来获取超级用户权限
  如果普通用户要使用sudo命令,需要在/etc/sudoers文件中配置才可以使用,例如要besttest用户可以使用sudo获取root用户权限,使用root用户编辑/etc/sudoers文件,找到 root ALL=(ALL) ALL 这一行,在它下面加入bestest ALL=(ALL) NOPASSWD:ALL然后保存即可。NOPASSWD代表该用户使用sudo的时候不用输入密码

  2)、Linux组

a、增加组groupadd
  groupadd -g 组ID -r 组名
    Groupadd –g 451 –r besttest
  -r:建立系统组,组ID小于499
  新组ID在500-60000之间,小于500的为系统组
  所有参数均可省(除了组名)
  groupadd dba 添加一个dba组

b、修改组groupmod
  groupmod –g 组新id –n 组新名 组旧名
    groupmod –g 561 –n test besttest

c、删除组groupdel
  groupdel 组名
    groupdel test

7Linux网络配置

  1)、设置ip地址【设置静态IP】

  1、在/etc/sysconfig/network-scripts/ifcfg-eth0文件中设置

  2、Linux下ip地址信息以及ip获取方式都是存放在ifcfg-eth0这个文件下的,如果有多块网卡的话就是ifcfg-eth0、ifcfg-eth1依次

  2)、设置临时ip地址

  命令:ifconfig eth0 192.168.1.102 【eth0指定第1块网卡】

  注:临时设置ip地址可以使用ifconfig 网卡 ip地址临时设置ip地址,重启后会失效

    注:如果没有ifconfig命令,可以用ip a来查看ip地址

自动获取ip地址命令:dhclient

  3)、设置dns【上网的话需要配置DNS,解析成IP地址】

  修改文件:/etc/resolv.conf

  一般不要设置静态IP地址和DNS,因为如果网络发生变化需要重新设置IP和DNS,可用命令dhclient自动获取ip地址。

  全局网络配置文件:/etc/sysconfig/network

    主要有两个配置项 NETWORKING(网络工作状态)和HOSTNAME(主机名)

    修改主机名的话修改HOSTNAME的值即可

    查看ip地址,ifconfig命令

    重启、启动、停止网络命令:service network restart/start/stop

 4)、VMware的3种网络类型

  1、VMnet0:用于虚拟桥接网络下的虚拟交换机【桥接方式】

  2、VMnet1:用于虚拟Host-Only网络下的虚拟交换机【仅主机模式】

  3、VMnet8:用于虚拟NAT网络下的虚拟交换机【NAT模式】

  VMware Network Adapter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡

  VMware Network Adapter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡。

   

  虚拟机有三种连接方式:桥接方式、NAT模式、Host-only模式(仅主机模式);三者区别:
    桥接方式:去局域网获取IP,不同的网络,IP地址会变
    NAT模式和Host-only模式都是把电脑本身当成转换器去获取IP,所以不同网络IP地址不变,如果想IP地址不变可以选择NAT模式或Host-only模式,但是Host-only模式有时会上不了网,所以建议用NAT模式连接

8Linux文件系统

  • 树状结构,/为最高的根目录
  • root:root用户的个人文件夹(家目录)
  • bin:存放多数用户可用的命令
  • boot:存放启动文件和配置信息,系统启动时会用
  • dev:存放设备文件,/dev/hdc代表光驱
  • etc:存放服务配置文件
  • home:其他用户的家目录
  • lib:存放程序运行所需要的库文件
  • media:可移动设备的挂载目录
  • mnt:设备挂载目录
  • usr:用户程序存放目录
  • var:存放经常改动的数据文件
  • tmp:存放临时文件
  • sbin:存放维护系统所需命令,一般仅root可用
  • proc:存放核心运行时产生的文件,这些文件位于内存而非硬 盘中
  • sys:与proc类似,设计比proc更清晰,文件位于内存
  • srv:服务需要的数据的存放目录
  • lost+found:文件系统修复时找回的丢失文件
  • opt:额外软件安装目录
  • misc:不方便归类的杂项文件
  • selinux:SELinux文件系统实例

 9、文本编辑器VI

vi是Linux/Unix底下最常用的文本编辑器,可以理解为和Windows下的txt一样。

vim:vim是vi的升级版本,它不仅兼容vi的所有命令,而且还加入了一些新的特性,可以把vim理解为vi的升级版

  1)、vi有两种模式:命令模式和编辑模式

a、命令模式

  • 进入vi时的默认模式,此模式下所有的用户输入都视为命令
  • 用户在此模式下进行搜索、复制、替换

b、编辑模式

  • 用户在此模式下可以编辑文本内容

  2)、vi模式切换

默认进入命令模式,切换成编辑模式按键如:i(当前位置) 、a(下一位置)、o(下一行);
  编辑模式切换成命令模式:esc[在键盘的左上角]

  3)、VI对文件的编辑方式

 1)、  光标定位

  • M 移动光标到页面中央
  • L移动光标到页面尾处
  • H移动光标到页面开始处
  • Ctrl+f向后翻页
  • Ctrl+b向前翻页
  • 0移动光标到行首
  • $移动光标到行尾
  • /:从上往下开始查找【格式:/查找的内容】
  • ?:从下往上开始查找【格式:?查找的内容】
  • Ctrl + d:往下翻半屏内容
  • Ctrl + u:往上翻半屏内容
  • Shift + g:到文件末尾
  • u复原前一个动作
  • . 重复前一个动作
  • nyy  复制光标所在的向下n行内容
  • yw复制光标后的单词,以空格为分界
  • p在光标处粘贴复制的内容
  • ndd删除光标所在向下n行的内容
  • r:替换当前位置字符
  • x:删除当前位置字符
  • dd:删除整行
  • :1,3y 复制第一行到第三行
  • :1,3d 删除第一行到第三行
  • :1,3s/str/str_new/g 替换第一行到第三行中的字符串
  • :1,3s/str/str_new    替换第一行到第三行中的字符串第一个字符
  • :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行
  • set number:显示行号
  • set nonu:取消显示行号

 2)、  撤销和重复

  • u复原前一个动作
  • . 重复前一个动作

3)、  复制 粘贴 删除 替换

  • nyy 复制光标所在的向下n行内容
  • yw复制光标后的单词,以空格为分界
  • p在光标处粘贴复制的内容
  • ndd删除光标所在向下n行的内容
  • r:替换当前位置字符
  • x:删除当前位置字符
  • dd:删除整行
  • :1,3y 复制第一行到第三行
  • :1,3d 删除第一行到第三行
  • :1,3s/str/str_new/g 替换第一行到第三行中的字符串

• :%s/str/str_new/g 替换文件中所有【将文件中所有str字符串替换成str_new】
  • :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符
  • :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行

4)、 设置行号

  • set number:显示行号
  • set nonu:取消显示行号

5)、 搜索字符串

  • 输入/+要查找的字符串

    • /bestest
  • 按n键重新查找下一个

   6)、 退出

  • q 退出vi
  • q! 不保存退出
  • wq 保存退出
  • e!不保存修改的文件
  • w 保存
  • !强制,后面加叹号的话表示强制

二、Linux常用命令

1、帮助命令

  whatis命令:简单描述命令功能
  -help选项:命令使用摘要及参数列表
  man命令:命令说明文件
  info命令:更详细的说明文件
  说明/usr/share/doc/

2、文件管理命令

1、alias给命令起别名、unalias取消别名
    alias给命令起别名,想要用该命令可以直接用别名即可
    格式:alias 命令别名='命令'
    unalias取消别名(格式:unalias 别名)
    eg:启动/停止lampp时总是要到它响应的目录下,这时可起个别名,直接用别名启动、停止lampp,简化操作,具体如下图:
    

上图方式只在本次启动有效,如果虚拟机注销,此别名失效;要想让其一直有效可以在用户的家目录下编译.bashrc文件【该文件是用户环境变量文件】,添加命令别名后用source命令使其生效,如下图:

      

输入alias查询系统别名

2、ls查看

  • ls:列举指定目录下的子目录和文件

    • 用法:ls [-arltrx] [name……]
    • 主要参数:
      • -a, --all:不隐藏任何以“.” 字符开始的项目。 -i, --inode:列出每个文件的inode号。 -l:使用较长格式列出信息。
      • -t 以时间排序。
      • -r, --reverse:依相反次序排列。
      • -R, --recursive:同时列出所有子目录层。 -s, --size:以块大小为序
  • ls -l 显示文件信息【例如:大小、权限等】
  • 命令可以和通配符"*"一起使用:eg:ls p* :查看当前目录下所有p开头的文件

3、cd进入目录

  • cd回车:退到当前用户个人目录
  • cd / :退到最根目录
  • cd ../xx:退到上级目录的xx目录
  • cd .:停留在当前目录
  • cd .. :返回上级目录
  • cd –:回到上一次操作的目录
  • cd ~: 回到用户家目录

     

4、cp: 复制文件夹/文件
  • cp:复制指定文件到另一文件或目录
  • 用法:cp [-abrifLP] [source] [dest]
  • 主要参数:
  • -a:尽可能的将文件的属性、权限的内容都照原状复制
  • -b:如果目的文件存在,就创造一个备份
  • -r:若源中有子目录,则将子目录下的文件及目录亦全部复制至目的目录
  • -i:若目的地有重复的文件,询问是否覆盖
  • -f:若目的地有重复的文件,则覆盖原有文件
  • -L:复制符号链接,自动修改链接以保证链接有效
  • 举例:
  • cp -rf a.txt /tmp
  注:复制时如果使用-rf时若有重复文件,依然提示是否覆盖,原因:使用alias下查看cp别名,会发现alias cp='cp -i'默认cp命令加了-i,如果不想提示是否覆盖,可以unalias cp。

5、scp:在两台电脑间复制

      

6、mv移到文件/还有改名的功能

  • mv:用来为文件或目录改名,或者将文件由一个目录移入另一个目录中
  • 用法:mv[options] 源文件或目录 目标文件或目录
  • 主要参数:
    • -i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆 盖,此时系统询问是否重写,要求用户回答“y”或“n”,这样可 以避免误覆盖文件。
    • -f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任 何指示,指定此参数后i参数将不再起作用。
    • 举例:将/usr/local/tomcat下所有文件移动到 /tmp/tomcat下
    • mv /usr/local/tomcat/* /tem/tomcat
    • 将a.txt改名为b.txt
    • mv a.txt b.txt
       

  注:mv[options] 源文件/目录 目标【与源文件/源目录路径相同名称不同】---->改名
  mv[options] 源文件/目录 目标【与源文件/源目录路径、名称均不同】---->移动并改名
  mv[options] 源文件/目录 目标【与源文件/源目录路径不同、名称相同】----->移动

7、rm删除文件/文件夹
  • rm:用来删除文件或目录
  • 用法:rm [-ifr] name
  • 主要参数:
    • -r:删除目录及子目录,目录下如果有子目录及文件也会被删除
    • -f:不询问直接删除
    • -i:删除前逐一询问确认
    • 注意: 删除的文件非常难恢复,没有windows的回收站
    • 举例:删除/tmp/logs下所有文件
    • rm -rf /tmp/logs/*
    • rmdir:用来删除一个空文件夹
    • 主要参数 -p 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除
    • rmdir不能删除非空目录

8、pwd列出当前目录

  

9、mkdir创建文件夹

  • mkdir:创建文件夹

    • 用法:mkdir [options] name
    • 主要参数:
      • -p:如果创建的文件夹父目录不存在会连父目录一起创建
      • -m :配置文件案的权限喔!直接设定,不需要看预设权限 (umask)的脸

10、rmdir删除空文件夹
  • rmdir:用来删除一个空文件夹
    • 主要参数 -p 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除
    • rmdir不能删除非空目录
11、cat查看文件内容
  • cat:用于连接并显示指定的一个和多个文件的有关信息
    • 用法:cat [options] 文件1 [文件2]……
  • 主要参数:
    • -n:由第一行开始对所有输出的行数编号。
    • -b:和-n相似,只不过对于空白行不编号。
    • -s:当遇到有连续两行以上的空白行时,就代换为一行的空白行。
    • 举例:

      •将几个文件处理成一个文件,并将这种处理的结果保存到一个单独的输出文件
        • cat a.txt b.txt > c.txt
      • 对行进行编号
        • cat -b a.txt
    • cat 可以不添加任何参数直接使用

12、more/less分屏显示文件内容
  • more和less:分屏显示文件内容,可以逐页或者逐行 显示文件内容
    • 用法:more [参数] 文件 less [参数] 文件
    • 举例:less a.txt more a.txt
    • 回车为显示下一行
    • 空格为转到下页
    • G 移动到最后一行 #less
    • g 移动到第一行 #less
    注:more/less查看内容后也可以“/+搜索内容”搜索

13、tail动态查看文件内容
  • tail:查看文件末尾内容
    • 用法:tail [参数] [文件]
    • 主要参数:
      • -f 动态读取
    • 举例
      • 动态查看日志 tail -f err.log
      • 查看末尾10行日志 tail -10 err.log
      • 动态查看末尾5行日志 tail -5f err.log

14、head显示文件的开头至标准输出中
  • head:显示文件的开头至标准输出中
    • 用法:head [参数]... [文件]...
    • 主要参数:
      • -n<行数> 显示的行数
  head 是从头开始显示内容,head -10 filename:显示前10行内容
  cat、more/less、tail的区别:
    cat会将文件内容全部显示出来,如果文件内容较多只能看到最后的部分
    more/less是一页一页的显示,即分屏显示文件内容
    tail查看文件末尾内容,也可以动态查看文件内容;cat、more、less不能动态查看

15、ln创建文件链接
  ln创建文件链接,即添加快捷键
  • ln:创建文件链接
  • Linux中,每一个文件都对应于文件系统上的唯一索引节点
  • 硬链接:
    • 一个文件可以有多个文件名,每一个文件名都是一个硬链接,它们指向目标文件所在文件系统中的索引节点,硬链接指向的是同一个物理位置,所以同一文件系统中的文件间才能建立硬链接
    • 硬链接可以看做文件别名,所有硬链接都删除时,文件才被真正删除
    • 目录不可以建立硬链接,否则目录遍历会陷入死循环
    • ln 源文件 硬链接目标文件
  • 软连接【即添加快捷键】
    • 包含目标文件或目录的路径信息
    • 软连接可以跨越文件系统,也可以连接目录
    • 相当于Windows的快捷方式
    • ln -s 源文件 软连接目录或文件【即添加快捷键】

16、du文件和目录的磁盘使用空间
  • 用法:du [选项][文件]
  • 主要参数:
    • -s或--summarize 仅显示总计,只列出最后加总的值
    • -h或--human-readable 以K,M,G为单位,提高信息的 可读性
    • -k或--kilobytes 以KB(1024bytes)为单位输出
    • -m或--megabytes 以MB为单位输出
    • -S或--separate-dirs 显示个别目录的大小时,并不含其子 目录的大小

   

   常用du -sh [文件]查看大小

17、lsof列出当前系统打开文件的工具
  • lsof:列出当前系统打开文件的工具
    • 用法:lsof [options] filename
    • 常用参数:
      • lsof filename 显示打开指定文件的所有进程
      • lsof -c string 显示COMMAND列中包含指定字符的进程所有打 开的文件
      • lsof -u username 显示所属user进程打开的文件
      • lsof +d DIR/ 显示目录下被进程打开的文件
      • lsof +D DIR/ 上,但是会搜索目录下的所有目录,时间相对较长

   lsof输出说明:
    • COMMAND:进程的名称
    • PID:进程标识符
    • USER:进程所有者
    • FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、 txt等
    • TYPE:文件类 型,如DIR、REG等
    • DEVICE:指定磁盘的名称
    • SIZE:文件的大小
    • NODE:索引节点(文件在磁盘上的标识)
    • NAME:打开文件的确切名称

18、chmod赋权限
  • chmod:用来给文件或者文件夹赋权限
    • 用法:chmod [选项][文件]
    • chmod有两种方式,数字方式和文本方式:
      • 数字方式:
        [n][n][n] r=4 w=2 x=1
        rwx:4+2+1; r-x:4+1; rw-:4+2
      • 文本方式
        u -- 该档案的拥有者;
        g -- 与该档案的拥有者属于同一个群体(group)者;
        o -- 其他以外的人;
        a -- 所有
        + -- 增加权限
         - -- 去掉权限
        -R 递归,主要用于一个目录,把该目录下所有的文件/文件夹赋权限
  注:给文件赋权限不需要加-R,给文件夹赋权限时需加-R,如果给文件夹赋权限未加-R,那文件夹的权限修改了但该文件夹下的文件权限未被修改

  示例:
    • 给text文件赋予rwxr-xr-x权限
      chmod 755 text
    • 给text及其子目录底下所有文件赋予rwxr-xr-x权限
      chmod -R 755 text
    • 为文件abc的组拥有者增加rw权限
      chmod g+rw abc
    • 为abc文件的用户拥有者去除x权限
      chmod u-x abc
    • 指定文件abc的其他用户权限为rw-
      chmod o=rw-
    • 为文件abc及其子目录底下的所有文件的全体用户增加x权限
      chmod -R a+x abc

19、chgrp改变文件所属组
  • chgrp:改变文件所属组
    • 用法:chgrp [选项] [组] [文件]
    • 主要参数:
    • -R 递归
    • 注意:改变所属组的使用权限必须是超级用户

20、chown改变文件所有者和所属组
  • chown:改变文件所有者和所属组
    • 用法:chown [选项] 用户或组 文件名
    • 主要参数: -R 递归式地改变指定目录及其所有子目录、文件 的文件主
    • 注意:使用权限是超级用户
    举例: chown -R test:test foo

21、wc统计文件中的行数、字节数、字数
  • wc:统计指定文件中的行数、字节数、字数,并将统计结果显示输出
    • 用法:wc [选项] [文件]
    • 主要参数:
      • -c 统计字节数。
      • -l 统计行数。
      • -m 统计字符数。这个标志不能与 -c 标志一起使用。
      • -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
      • -L 打印最长行的长度。
      • -help 显示帮助信息
      • 可以不加任何参数使用
22、clear清屏
23、history查看历史命令

3、搜索命令

1、grep显示文件中的匹配行【即查找文件的内容】

  • grep:显示文件中的匹配行

    • 用法:grep [参数] 字符串 文件名
    • 主要参数:
      • 无参:显示匹配行内容
      • -c:显示匹配行数【即总共匹配了几行】
      • -e 字符串:匹配特殊字符串,如-开头
      • -i:忽略大小写
      • -v:输出不匹配行
      • -w:匹配指定字符串
      • 可以和别的命令通过"|"管道符连接使用
    • 示例:
      • grep -c “foo” a.txt【例1】
      • ps -ef|grep httpd |grep -v "grep"【例2】
      • grep常和其他命令结合使用,例如例2

2、find查询文件或文件夹

  • find:查找目录下的文件

    • 用法: find 目标目录 搜索参数 操作参数
    • 主要参数:
      • -name 文件名:可以跟通配符
      • -amin 分钟数:文件最后访问时间为指定分钟之前,负数表示之后
      • -atime 天数:文件最后访问时间为指定天数之前,负数表示之后
      • -cmin 分钟数:文件最后修改时间为指定分钟之前,负数表示之后
      • -ctime 天数:文件最后修改时间为指定天数之前,负数表示之后
      • -user 用户名:属于用户的目录和文件
      • -type 文件类型
    • 示例:
    • find / -name besttest

3、定位文件位置

  • locate 命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库( /var/lib/locatedb)【此数据库存放了Linux系统所有的目录】,这个数据库中含有本地所有文件信息,locate命令需要安装,系统本身不自带
  • whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数 -b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省 略参数,则返回所有信息。同locate一样,查询数据库( /var/lib/locatedb)文件
  • which 在PATH变量指定的路径中,搜索某个系统命令的位置,并且 返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
  • 区别:locate可以搜索所有文件,whereis是搜索程序名,如果是一个普通的文件是找不到的,which命令只查找环境变量中path里面的路径
  • 示例:locate besttest.txt
  • whereis mysql
  • which locate

  

Linux基础知识整理的更多相关文章

  1. 【Linux系列】Linux基础知识整理

    Linux操作系统在服务器领域广泛的使用到,作为一个后台开发工程师很有必要了解Linux相关的知识. 本篇日志是我学习Linux过程中的简单记录和总结.本着"理论够用,实践为主"的 ...

  2. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  3. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  4. 【OGG】OGG基础知识整理

    [OGG]OGG基础知识整理 一.GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与 ...

  5. linux基础知识的总结

    例如以下内容是我对linux基础知识的总结,由于本人在初期学习linux的时候走了不少的弯路,对于基础的掌握耗费了不少的时间,所以为了后来者对linux的基础部分有个清晰的了解,特对基础知识进行了总结 ...

  6. [转帖]linux基础知识大纲

    linux基础知识大纲 https://blog.csdn.net/CSDN___LYY/article/details/80810403 1.Linux操作系统概述Linux操作系统的发展过程.创始 ...

  7. 《Linux基础知识及命令》系列分享专栏

    <Linux基础知识及命令>系列分享专栏 本专题详细为大家讲解了Linux入门基础知识,思路清晰,简单易懂.本专题非常适合刚刚学习Linux的小白来学习,通过学习该专题会让你由入门达到中级 ...

  8. Linux基础知识入门

    [Linux基础]Linux基础知识入门及常见命令.   前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1: ...

  9. 运维之linux基础知识(一)

    运维之linux基础知识(一) 1.GUI:Graphic User Interface 图形用户界面 2.CLI:Command line Interface 命令行界面 3 dll:Dynamic ...

随机推荐

  1. Programming Learning - Based on Project

    Today when taking a bath I got a good idea that it is an efficient and interesting way to learn a ne ...

  2. 初识WebService

    一.什么是Web服务 Web服务是一种可以用来解决跨网络应用集成问题的开发模式,目的是保证不同平台的应用服务可以互操作 二.Web服务的三个核心 Soap: SOAP(Simple Object Ac ...

  3. ACCELEROMETER

    顾名思义,是加速感应器.有2种应用吧:1,电脑保护,例如当笔记本掉落时,可以被自动检测到,此时会自动关闭硬盘操作以保护数据不在强烈冲击时丢失.

  4. 【repost】js中(function(){…})()立即执行函数写法理解

    摘要: javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解. ...

  5. Docker初体验

    ## Docker初体验 安装 因为我用的是mac,所以安装很简单,下载dmg下来之后拖拽安装即可完成. 需要注意的就是由于之前的docker是基于linux开发,不支持mac,所以就出现了docke ...

  6. BZOJ 1415 【NOI2005】 聪聪和可可

    题目链接:聪聪和可可 一道水题--开始还看错题了,以为边带权--强行\(O(n^3)\)预处理-- 首先,我们显然可以预处理出一个数组\(p[u][v]\)表示可可在点\(u\),聪聪在点\(v\)的 ...

  7. [LeetCode] Kth Largest Element in an Array 数组中第k大的数字

    Find the kth largest element in an unsorted array. Note that it is the kth largest element in the so ...

  8. Binding笔记

    Binding基础  绑定某个对象的属性值到控制上,写法如下: public class Order : INotifyPropertyChanged//只要实现此接口 { public event ...

  9. 基于MemoryCache的缓存辅助类

    背景: 1. 什么是MemoryCache? memoryCache就是用电脑内存做缓存处理 2.使用范围? 可用于不常变的数据,进行保存在内存中,提高处理效率 代码: /// <summary ...

  10. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...