网络工程师必知的linux操作

Linux 为何物

Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8,10)和 Max OS ,至于操作系统是什么,就不用过多解释了,如果你学习过前面的入门课程,应该会有个基本概念了,这里简单介绍下操作系统在整个计算机系统中的角色。

我们的 Linux 也就是系统调用和内核那两层,当然直观的来看,我们使用的操作系统还包含一些在其上运行的应用程序,比如文本编辑器,浏览器,电子邮件。

Linux 重要人物

1.Ken Thompson:C 语言之父和 UNIX 之

2.Dennis Ritchie:C 语言之父和 UNIX 之父

3.Stallman:著名黑客,GNU 创始人,开发了 Emacs、gcc、bash shell

4.Bill Joy:BSD 开发者

5.Tanenbaum:Minix 开发者

6.Linus Torvalds:Linux 之父,芬兰赫尔辛基大学

为什么学Linux,每个人都有自己的理由:

  • Linux是免费的不用花一分钱,能够节约大笔的成本;
  • Linux是开源的,你可以根据自已的需要修改源代码;
  • Linux是开放的,有广泛的社区,关于Linux的讨论要远远高于windows操作系统;
  • 学习Linux可以更好的掌握计算机技术;
  • Linux是未来发展的趋势,服务器,手机,掌上电脑,平板机很多都采用Linux操作系统;
  • Linux有非常多的发行版本,你可以根据需要做出不同的选择;
  • Linux让你多了一个选择,而且Linux下的病毒相比Window可以忽略不计;
  • Linux是一种自由哲学,一种开源的信仰;
  • 最后Linux很好玩,让人着迷……。

Linux能做什么?

  • 世界上最快的超级计算机90%以上都使用Linux或类似操作系统,说明Linux速度快;
  • 而且简装的Linux(如LFS)估计也是特别适合老机器了;
  • 如果你听说过Android的话,你就会知道Linux将广泛应用于平板电脑和手机;
  • 如果你体验过Chorme OS,Google doc,或者WebQQ的话,你会觉得操作方式有点仿Linux;
  • 还有很多软件一般都是现出类-Unix版本,然后才出Window版本;
  • Linux下很多软件都是跨平台的,反之Window则不是;
  • Linux在Web上的优势,也将会在WebOS,云时代得到充分迸发……。

Linux分类

linux系统,主要分debian系和redhat系,还有其它自由的发布版本。

1、debian系主要有Debian,Ubuntu,Mint等及其衍生版本;

2、redhat系主要有RedHat,Fedora,CentOs等,

3、其它有Slackware,Gentoo,Arch linux,LFS,SUSE等。

4、如果开发用,推荐redhat系,业内公司的服务器多用centos,考虑到平时使用,那么就选择fedora,可以选择最新的发行版。

5、如果简单用加开发,可以选择debian系,推ubuntu,mint。

6、如果是技术狂型,那么就推荐Gentoo,Arch linux,LFS,Slackware等。

Linux文件系统采用分层的树形目录结构.即在一个根目录(通常用”/”表示),含有多个子目录或文件;子目录下又含有更下级的子目录或文件信息,一层一层地延伸.构成一棵倒置的树.

下面就简单来看看Linux根目录的子目录都用来存放什么属性的目录或文件吧!

  • /bin:存入普通用户可以使用的命令文件.目录/usr/bin 也可用来贮存用户命令。
  • /sbin: 一般存放非普通用户使用的命令(有时隔不久普通用户也可能会用到).目录/usr/sbin中也包括了许多系统命令。
  • /etc:系统的配置文件。
  • /root:系统管理员(root或超级用户)的主目录。
  • /usr:包括与系统用户直接相关的文件和目录,一些主要的应用程序了保存在该目录下。
  • /home:用户主目录的位置,保存了用户文件(用户自己的配置文件,文档.数据等)。
  • /dev:设备文件.在Linux中设备以文件形式表现,从而可以按照操作文件的方式简便地对设备进行操作。
  • /mnt:文件系统挂载点.一般用于安装移动介质,其它文件系统的分区、网络共享文件系统或任何可安装文件系统。
  • /lib:包含许多由/bin和/sbin中的程序使用的共享库文件。目录/usr/lib中含有更多用于用户程序的库文件。
  • /boot:包括内核和其它系统启动时使用的文件。
  • /var:包含一些经常改变的文件。例如假脱机(spool)目录、文件日志目录、锁文件、临时文件等等。
  • /proc:操作系统的内存映象文件系统,是一个虚拟的文件系统。当您查看它们时,看到的是内存里的信息,这些文件夹有助于了解系统内部信息。
  • /initrd:在计算机启动时挂载initrd.img映像文件的目录以及载入阻挡层需设备模块的目录。
  • /opt:存放可选择安装的文件和程序。主要由第三方开发者用于安装和卸装他们的软件包。/tmp:用户和程序的临时目录,该目录中的文件被系统自动清空。
  • /lost+found:在系统修复过程中恢复的文件。

Linux常用命令

1.查看目录结构命令

ls(list)功能:列出目录内容

格式:ls[参数][文件或目录]

-a或–all 所有文件和目录。注意隐藏文件、特殊目录、以“.”开头的和以“..”开头的

-l 使用详细格式列表

-t 用文件和目录的更改时间排序

-r 反向排序

–help 在线帮助

常用:

ls -l 列出当前目录下的文件信息(此命令很常用,简化的格式为 ll)

ls -al 列出当前目录下的文件信息(包括隐藏文件,特殊目录)

ll /home/ 显示根目录下home目录下的内容

2.切换目录命令

cd(change directory)功能:切换目录

语法:cd[目录]

常用:

cd ~ 当前用户主目录

cd / 根目录

cd – 上一次访问的目录

cd .. 上一级目录

cd 当前用户主目录

touch 1.txt 在当前目录创建一个文件1.txt

clear:清除屏幕

3.创建目录命令

pwd:显示当前工作目录

mkdir: 创建目录

mkdir a :当前目录下创建文件夹a

mkdir /root/b :在根目录下的root下创建目录b

mkdir -pv /root/c/e/d :在根目录下的root下创建目录结构c/e/d(一下创建多级目录)

-p:父目录不存在情况下先生成父目录

-v:显示命令执行过程中的详细信息

[注]:如果是文件开头是-,如果是文件夹开头是d且文件夹名为黑体(如下图所示)

4.文件浏览

[注]:按tab键可以自动补齐文件名

cat 文件名:显示指定文件的所有内容(用于文件内容少的情况)

more 文件名:分页显示文件内容,还支持直接跳转行等功能(用于文件内容多的情况)

Enter :向下n行,需要定义。默认为1行

空格键:向下滚动一屏 或 Ctrl+F

B 返回上一屏 或Ctrl+B

q 退出more

less [参数] 文件名 :分页显示文件内容,操作更详细

参数:-m 显示类似more命令的百分比 -N 显示每行的行号 两个参数可以结合用 -mN

空格键:前进一页 或 page down

b:后退一页 或 page up

d:前进半页

u:后退半页

Enter:前进一行 或 方向键向下

y:后退一行 或 方向键向上

/字符串:向下搜索

?字符串:向上搜索

v:进入vim编辑器

tall命令:用来显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

tail[必要参数][选择参数][文件]

-n<行数> 显示行数

-f 循环读取

5.文件操作

1.复制命令:cp

cp(copy)功能:复制文件或目录

语法:cp[参数] [源文件或目录] [目标文件或目录]

-r或–recursive 递归处理,将指定目录下的文件与子目录一并处理

-b 覆盖文件时,可以将源文件做一个备份

例如:

复制文件:

cp 1.txt 2.txt

cp -b 1.txt 2.txt :如果覆盖文件时,可以将源文件做一个备份

cp ./1.txt ../ :将当前目录下的1.txt复制到父级目录

cp /root/1.txt /bin/2.txt :将/root下的1.txt文件复制到根目录下的bin目录下的2.txt中

复制目录:(无论是单层目录还是多层目录都可以复制):

cp -r ./a ./b

cp -r /root/a /root/z

2.移动命令:mv

mv(move)功能:移动或更名现有的文件或目录

语法:mv [源文件或目录][目标文件或目录]

-f 或 –force 若目标文件或目录与现有的文件目录重复,则直接覆盖现有的文件或目录

剪切文件:mv ./1.txt /root 将当前目录下的1.txt文件 剪切到root目录下

重命名文件:mv ./1.txt ./2.txt 将当前目录下的1.txt文件重命名为2.txt

3.删除命令:rm

rm功能:删除文件或目录

语法:rm [-dfirv][–help][–version][文件或目录…]

-f 或 –force 强制删除文件或目录

-r 或 -R 或 –recursive 递归处理,将指定目录下的所有文件及子目录一并处理

强制删除文件:rm -f ./1.txt

强制删除目录:rm -rf ./a

4.查找命令:find

find功能:查找文件或目录

语法:find[目录…][参数]

-name 指定字符串作为寻找文件或目录的范本样式

例如:find /root/ -name ‘test*’ 查找root目录下的文件开头是test的文件和文件夹,*是通配符 。注意字符串要用单引号引起来。

6.文档编辑

vi或vim命令

基本操作

1.vim 文件名 :进入一般模式(不能输入)

2.按下 i 从一般模式,进入到插入模式

3.按下esc从插入模式,退出到一般模式

4.在一般模式下,输入**:wq**,退出编辑。

vi基本概念

取消操作:u 取消已经执行的操作

7.管道

linux提供管道符号 “|” 作用是“命令1”的输出内容,将作为“命令2”的输入内容。一般与grep命令一起使用

格式:命令1 | 命令2

1.grep命令

功能:用于过滤/搜索特定字符。可使用正则表达式 能多种命令配合使用。

格式:grep [option] pattern [file] grep 参数 过滤条件 文件 (-i 或 –ignore-case 忽略字符大小写的差别)

例如:grep -i one /root/1.txt 显示root目录下的1.txt文件中含有one字符的一行数据(忽略大小写)

格式:其他命令 | grep 参数 过滤条件

例如:cat /root/1.txt | grep -i one 在cat命令输出结果基础上,进行过滤

8.系统命令

1.ps命令

**任务管理器:**ps -ef 查看当前所有进程(包括执行ps命令的那个时刻进程信息)

格式:ps [参数]

-e 此参数的效果和指定“A”参数相同,显示所有程序

-f 显示UID,PPIP,C与STIME栏位

例如:ps -ef | grep -i mysql 过滤出mysql这个进程

2.kill命令

kill功能:删除执行中的程序或工作

语法:kill[参数][程序]

-l<信息编号> 若不加<信息编号>选项,则-l参数会列出全部的信息名称。

kill -9 :表示强制终止

格式:kill -9 pid

可先通过ps -ef 查找出所要删除的进程pid,再通过kill -9 pid 终止进程

3.ifconfig命令

功能:显示网络设备

格式:ping 主机名或ip地址 (按ctrl+c停止ping)

9.备份压缩:tar命令

tar功能:文件备份压缩

格式:tar 参数 压缩后的文件名 被压缩的文件名

tar 参数 被解压的文件名 -C 指定目录 (如果省略 -C 指定目录,则解压到当前文件夹)

-c 建立一个压缩文件的参数指令(create)–压缩

-x 解开一个压缩文件的参数指令(extract)–解压

-z 是否需要用gzip压缩

-v 压缩的过程中显示文件(verbose)

-f 使用档名,在f之后要立即接档名(file)

常用解压参数组合:zxvf

常用压缩参数组合:zcvf

例如:

tar -zcvf /root/1.tar /root/a 将root目录下的a文件夹压缩成1.tar,放在root目录下。

tar -zxvf ./1.tar 将当前目录下的1.tar文件解压缩

[注]:如果后缀名为.tar.gz的压缩包用-zxvf 如果后缀名为.tar的压缩包用-xvf

10.关机 重启

Linux centos 重启命令:reboot

Linux centos 关机命令:halt

11.文件权限:chmod命令

chmod功能:变更文件或目录的权限

语法:chmod [参数][<权限范围><符号><权限代号>]

-R 或 –recursive 递归处理,将指定目录下的所有文件及子目录一并处理

–权限范围的表示法如下:

u:User 即文件或目录的拥有者

g:Group 即文件或目录的所属群组

o:Other 除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围

a:All 即全部的用户,包含拥有者,所属群组及其他用户。

–符号

+ 添加权限

– 取消权限

— 有关权限代号的部分

r:读取权限,数字代号为“4”

w:写入权限,数字代号为“2”

x:执行或切换权限,数字代号为“1”

– :不具任何权限,数字代号为“0”

777 :所有权限

[注]:3=1+2(wx) 5=4+1(rx)

mkdir xxx 创建xxx目录

例如:

chmod u-rwx xxx 取消xxx目录的用户“读写执行”权限

chmod g-rwx xxx 取消xxx目录的组“读写执行”权限

chmod 777 xxx 给xxx目录添加所有权限

Linux 权限格式:<类型><用户><组><其他用户>

Linux冷门命令

1. bc

这个Linux命令用于精度比较高的数学运算。如:开平方根等。下面利用bc命令写个脚本(文件名:sqrt)

#!/bin/bash 
if [ 
 
nbsp;
then 
    echo 'Usage: sqrt number' 
    exit 1 
else 
    echo -e "sqrt($1)nquitn" | bc -q -i 
fi 

接着,可使用这个脚本进行平方根运算:

[hchen@RHELSVR5]
 
nbsp;./sqrt 36 

[hchen@RHELSVR5]
 
nbsp;./sqrt 2.0000 
1.4142 
[hchen@RHELSVR5]
 
nbsp;./sqrt 10.0000 
3.1622 
2. split

如果你的文件很大,却接到命令要把它分割成小文件,那么这个命令就派上用场了。

[hchen@RHELSVR5 applebak]# ls -l largefile.tar.gz 
-rw-r--r-- 1 hchen hchen 436774774 04-17 02:00 largefile.tar.gz 
[hchen@RHELSVR5 applebak]# split -b 50m largefile.tar.gz LF_ 
[hchen@RHELSVR5]# ls -l LF_* 
-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_aa 
-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ab 
-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ac 
-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ad 
-rw-r--r-- 1 hchen hchen 52428800 05-10 18:34 LF_ae 
-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_af 
-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_ag 
-rw-r--r-- 1 hchen hchen 52428800 05-10 18:35 LF_ah 
-rw-r--r-- 1 hchen hchen 17344374 05-10 18:35 LF_ai 

反而来,合并也只需要简单的合并就行,如:

[hchen@RHELSVR5]# cat LF_* >largefile.tar.gz 
3. pgrep

pgrep名字前有个p,可以猜想它可能和grep有关,确实这是进程相关的grep命令。不过,这个命令主要是用来列举进程ID的。如:

 
nbsp;pgrep -u hchen 
22441 
22444 

这个命令相当于:

ps -ef | egrep '^hchen' | awk '{print $2}' 
4. nl

nl命令其它和cat命令很像,只不过它会打上行号。如下所示:

[hchen@RHELSVR5 include]# nl stdio.h | head -n 10 
     1  /* Define ISO C stdio on top of C++ iostreams. 
     2     Copyright (C) 1991,1994-2004,2005,2006 Free Software Foundation, Inc. 
     3     This file is part of the GNU C Library. 
     4     The GNU C Library is free software; you can redistribute it and/or 
     5     modify it under the terms of the GNU Lesser General Public 
     6     License as published by the Free Software Foundation; either 
     7     version 2.1 of the License, or (at your option) any later version. 
     8     The GNU C Library is distributed in the hope that it will be useful, 
5. ldd

这个命令,用来可执行文件所使用了动态链接库。如:

[hchen@RHELSVR5 ~]# ldd /usr/bin/java 
        linux-gate.so.1 => (0x00cd9000) 
        libgij.so.7rh => /usr/lib/libgij.so.7rh (0x00ed3000) 
        libgcj.so.7rh => /usr/lib/libgcj.so.7rh (0x00ed6000) 
        libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0 (0x00110000) 
        librt.so.1 => /lib/i686/nosegneg/librt.so.1 (0x009c8000) 
        libdl.so.2 => /lib/libdl.so.2 (0x008b5000) 
        libz.so.1 => /usr/lib/libz.so.1 (0x00bee000) 
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00aa7000) 
        libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0x0022f000) 
        libm.so.6 => /lib/i686/nosegneg/libm.so.6 (0x00127000) 
        /lib/ld-linux.so.2 (0x00214000)
6. col

这个命令,能将man文件转成纯文本文件。如下示例:

# PAGER=cat 
# man less | col -b > less.txt 
end

添加微信免费咨询服务器配置选择建议
微信号:landuiYY

未经允许不得转载:云技术 » 网络工程师必知的linux操作

赞 (0)