Linux命令行与系统管理

Linux新手必须掌握的命令

0.Linux目录介绍

  • Linux目录和Windows目录有着很大的不同,Linux目录类似一个树,最顶层是其根目录,如下图:
    在这里插入图片描述
  1. /bin目录
    / b i n目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进制文件的可执行程序( b i n是b i n a r y - -二进制的简称),多是系统中重要的系统文件。
  2. /sbin目录
    / s b i n目录类似/bin ,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。
  3. /etc目录
    / e t c目录存放着各种系统配置文件,其中包括了用户信息文件/ e t c / p a s s w d,系统初始化文件/ e t c / r c等。l i n u x正是*这些文件才得以正常地运行。
  4. /root目录
    /root 目录是超级用户的目录。
  5. /lib目录
    / l i b目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。
  6. /lib/modules 目录
    /lib/modules 目录包含系统核心可加载各种模块,尤其是那些在恢复损坏的系统时重新引导系统所需的模块(例如网络和文件系统驱动)。
  7. /dev目录
    / d e v目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过访问/ d e v / m o u s e来访问鼠标的输入,就像访问其他文件一样。
  8. /tmp目录
    /tmp 目录存放程序在运行时产生的信息和数据。但在引导启动后,运行的程序最好使用/ v a r / t m p来代替/tmp ,因为前者可能拥有一个更大的磁盘空间。
  9. /boot目录
    / b o o t目录存放引导加载器(bootstrap loader)使用的文件,如l i lo,核心映像也经常放在这里,而不是放在根目录中。但是如果有许多核心映像,这个目录就可能变得很大,这时使用单独的文件系统会更好一些。还有一点要注意的是,要确保核心映像必须在i d e硬盘的前1 0 2 4柱面内。
  10. /mnt目录
    / m n t目录是系统管理员临时安装( m o u n t )文件系统的安装点。程序并不自动支持安装到/mnt 。/mnt 下面可以分为许多子目录,例如/mnt/dosa 可能是使用m s d o s文件系统的软驱,而/mnt/exta 可能是使用e x t 2文件系统的软驱,/mnt/cdrom 光驱等等。
  11. /proc, /usr,/var,/home目录
    其他文件系统的安装点。

1. 基本的bash shell命令

1.1 文件操作:

  1. rm:删除文件

格式为“rm [选项] 文件,

[root@iz1zdpxadujj9vz learn]# dir
a.txt  b.txt  c.txt
[root@iz1zdpxadujj9vz learn]# rm c.txt 
rm: remove regular empty file ‘c.txt’? y
[root@iz1zdpxadujj9vz learn]# dir
a.txt  b.txt

在Linux系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是看到这种反复的确认信息,可在rm命令后跟上-f参数来强制删除。
另外,想要删除一个目录,需要在rm命令后面一个-r参数才可以,否则删除不掉。
2. cp:复制文件

[root@iz1zdpxadujj9vz learn]# dir
a.txt  b.txt
[root@iz1zdpxadujj9vz learn]# cp a.txt a_copy.txt
[root@iz1zdpxadujj9vz learn]# dir
a_copy.txt  a.txt  b.txt

  1. 查看目录ll
[root@iz1zdpxadujj9vz learn]# ll
total 0
-rw-r--r-- 1 root root 0 Apr  3 19:07 a_copy.txt
-rw-r--r-- 1 root root 0 Apr  3 19:04 a.txt
-rw-r--r-- 1 root root 0 Apr  3 19:04 b.txt
  1. touch:创建文文件
[root@iz1zdpxadujj9vz learn]# dir
a_copy.txt  a.txt  b.txt
[root@iz1zdpxadujj9vz learn]# touch test.txt
[root@iz1zdpxadujj9vz learn]# dir
a_copy.txt  a.txt  b.txt  test.txt

1.2 目录相关:

  1. mkdir:创建目录,同时创建多个目录和子目录,引出参数-p
[root@iz1zdpxadujj9vz learn]# ll
total 0
-rw-r--r-- 1 root root 0 Apr  3 19:07 a_copy.txt
-rw-r--r-- 1 root root 0 Apr  3 19:04 a.txt
-rw-r--r-- 1 root root 0 Apr  3 19:04 b.txt
[root@iz1zdpxadujj9vz learn]# mkdir test
[root@iz1zdpxadujj9vz learn]# ll
total 4
-rw-r--r-- 1 root root    0 Apr  3 19:07 a_copy.txt
-rw-r--r-- 1 root root    0 Apr  3 19:04 a.txt
-rw-r--r-- 1 root root    0 Apr  3 19:04 b.txt
drwxr-xr-x 2 root root 4096 Apr  3 19:16 test
  1. rmdir:删除目录,删除非空目录可以使用参数-r.不提醒可用参数-f
[root@iz1zdpxadujj9vz learn]# ll
total 4
-rw-r--r-- 1 root root    0 Apr  3 19:07 a_copy.txt
-rw-r--r-- 1 root root    0 Apr  3 19:04 a.txt
-rw-r--r-- 1 root root    0 Apr  3 19:04 b.txt
drwxr-xr-x 2 root root 4096 Apr  3 19:16 test
[root@iz1zdpxadujj9vz learn]# rmdir test/
[root@iz1zdpxadujj9vz learn]# ll
total 0
-rw-r--r-- 1 root root 0 Apr  3 19:07 a_copy.txt
-rw-r--r-- 1 root root 0 Apr  3 19:04 a.txt
-rw-r--r-- 1 root root 0 Apr  3 19:04 b.txt

  1. pwd:查看当前目录的绝对路径
[root@iz1zdpxadujj9vz learn]# pwd
/root/learn

1.3 查看文件

  1. file:查看文件类型
[root@iz1zdpxadujj9vz learn]# ll
total 4
-rw-r--r-- 1 root root 0 Apr  3 19:07 a_copy.txt
-rw-r--r-- 1 root root 7 Apr  3 19:19 a.txt
-rw-r--r-- 1 root root 0 Apr  3 19:04 b.txt
[root@iz1zdpxadujj9vz learn]# file a.txt 
a.txt: ASCII text

  1. cat:查看整个文件
    1. -n:给所有行加上行号
    2. -b:给文本行加上行号
    3. -T:不让制表符出现
[root@iz1zdpxadujj9vz learn]# dir
a_copy.txt  a.txt  b.txt
[root@iz1zdpxadujj9vz learn]# cat -n b.txt 
     1	妾发初覆额,折花门前剧。
     2	郎骑竹马来,绕床弄青梅。
     3	同居长干里,两小无嫌猜,
     4	十四为君妇,羞颜未尝开。
     5	低头向暗壁,千唤不一回。
     6	十五始展眉,愿同尘与灰
  1. more:分页工具
    在这里插入图片描述

  2. less:一次显示一屏文本文件。按q推出

  3. tail:显示文件最后十行。

    1. tail -n:显示最后n行
[root@iz1zdpxadujj9vz learn]# tail a.txt 

临别殷勤重寄词,词中有誓两心知。

七月七日长生殿,夜半无人私语时。

在天愿作比翼鸟,在地愿为连理枝。

天长地久有时尽,此恨绵绵无绝期

the ending
[root@iz1zdpxadujj9vz learn]# tail -2 a.txt 

the ending

  1. head:显示文本文件前十行。
  2. head -n:显示文件前n行。
[root@iz1zdpxadujj9vz learn]# head a.txt 
长恨歌
【作者】白居易 【朝代】唐 译文对照
汉皇重色思倾国,御宇多年求不得。

杨家有女初长成,养在深闺人未识。

天生丽质难自弃,一朝选在君王侧。

回眸一笑百媚生,六宫粉黛无颜色。

[root@iz1zdpxadujj9vz learn]# head -2 a.txt 
长恨歌
【作者】白居易 【朝代】唐 译文对照

1.4 探测进程

  1. ps:显示进程信息
[root@iz1zdpxadujj9vz learn]# ps
  PID TTY          TIME CMD
19930 pts/0    00:00:00 bash
20084 pts/0    00:00:00 ps

  1. top:实时显示进程信息。

    1. PID:进程ID
    2. USER:进程主的名称
    3. PR:进程优先等级

在这里插入图片描述
检测磁盘空间

  1. mount:磁盘挂载命令
  2. umount:磁盘装卸命令
  3. df:查看已经挂载磁盘使用情况
  4. du:显示某特定目录的磁盘使用情况

1.5 处理数据文件(排序与压缩)

  1. sort:排序文件
    1. -n:将数字识别成数字而不是字符
    2. -M:按月排序
  2. 压缩文件
[root@iz1zdpxadujj9vz learn]# dir
a.txt  b.txt
[root@iz1zdpxadujj9vz learn]# tar -cvf test.tar a.txt b.txt 
a.txt
b.txt
[root@iz1zdpxadujj9vz learn]# dir
a.txt  b.txt  test.tar

  1. 列出压缩文件的内容,但不解压
[root@iz1zdpxadujj9vz learn]# dir
a.txt  b.txt  test.tar
[root@iz1zdpxadujj9vz learn]# tar -tf test.tar 
a.txt
b.txt
[root@iz1zdpxadujj9vz learn]# dir
a.txt  b.txt  test.tar
  1. 解压文件
[root@iz1zdpxadujj9vz learn]# dir
a.txt  b.txt  test.tar
[root@iz1zdpxadujj9vz learn]# tar -xvf test.tar 
a.txt
b.txt
[root@iz1zdpxadujj9vz learn]# dir
a.txt  b.txt  test.tar

1.6 环境变量

  1. export sth:将sth变成全局变量
  2. printenv:打印全局变量
  3. set:显示局部变量
[root@iz1zdpxadujj9vz learn]# printenv 
XDG_SESSION_ID=5287
HOSTNAME=iz1zdpxadujj9vz
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=124.89.2.69 33640 22
OLDPWD=/root
SSH_TTY=/dev/pts/0
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.8.0_192/bin:/root/bin
a=4
PWD=/root/learn
JAVA_HOME=/usr/java/jdk1.8.0_192
LANG=en_US.UTF-8
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=124.89.2.69 33640 172.17.89.179 22
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/0
_=/usr/bin/printenv

  1. unset:删除环境变量

  2. PATH=$PATH:路径:设置path环境变量。

1.7 linux用户相关

  1. useradd:添加用户
[root@iz1zdpxadujj9vz learn]# useradd tes
[root@iz1zdpxadujj9vz learn]# passwd tes
Changing password for user tes.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
  1. userdel:删除用户
    1. -r:删除用户的HOME目录以及邮件目录
[root@iz1zdpxadujj9vz learn]# userdel tes
[root@iz1zdpxadujj9vz learn]# su tes
su: user tes does not exist

  1. usermod:修改用户帐呼呼的字段,还可以指定主要组以及附加组的所属关系。

  2. passwd:修改用户密码

    1. -e:强制用户下次登陆时候修改密码。
  3. chpasswd:从标准输入自动读取登陆名和密码对链表(有冒号分割)
    `

1.8 其他命令

  1. echo:在终端输出字符串或变量提取后的值
[root@iz1zdpxadujj9vz learn]# userdel tes
[root@iz1zdpxadujj9vz learn]# su tes
su: user tes does not exist

  1. date;显示及设置系统的时间或日期
[root@iz1zdpxadujj9vz learn]# userdel tes
[root@iz1zdpxadujj9vz learn]# su tes
su: user tes does not exist

  1. reboot:重启系统,需要管理员权限。

  2. wget:终端下载网络文件,格式为weget [参数] 下载地址

  3. poweroff:关闭系统

  4. ifconfig:获取网卡配置与网络状态等信息。格式为ifconfig [网络设备][参数]

    1. 使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(又称为MAC地址),以及RX、TX的接收数据包与发送数据包的个数及累计流量
[root@iz1zdpxadujj9vz learn]# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.89.179  netmask 255.255.240.0  broadcast 172.17.95.255
        ether 00:16:3e:06:e9:6a  txqueuelen 1000  (Ethernet)
        RX packets 421701  bytes 51505489 (49.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 433784  bytes 53097839 (50.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 36  bytes 4896 (4.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 36  bytes 4896 (4.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  1. uname:命令用于查看系统内核与系统版本等信息,格式为uname [-a]

  2. uptime:它可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过1,在生产环境中不要超过5。

[root@iz1zdpxadujj9vz learn]# uptime 
 19:46:05 up 31 days,  6:59,  1 user,  load average: 0.00, 0.01, 0.05
  1. free:显示当前系统中内存的使用量信息,格式为free [-h]

  2. history:显示历史执行过的命令
    在这里插入图片描述

1.9 安装软件程序

  1. yum list installed:列出以安装的包
    在这里插入图片描述
  2. yum list xterm:查找某一特定软件是否安装
  3. yum install package_name:安装软件
[root@iz1zdpxadujj9vz learn]# yum lsit xterm
Loaded plugins: fastestmirror
No such command: lsit. Please use /usr/bin/yum --help
[root@iz1zdpxadujj9vz learn]# yum install xterm
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base                                                                                             | 3.6 kB  00:00:00     
epel                                                                                             | 4.7 kB  00:00:00     
extras                                                                                           | 3.4 kB  00:00:00     
updates                                                                                          | 3.4 kB  00:00:00     
(1/4): extras/7/x86_64/primary_db                                                                | 187 kB  00:00:00     
(2/4): epel/x86_64/updateinfo                                                                    | 1.0 MB  00:00:00     
(3/4): epel/x86_64/primary_db                                                                    | 6.6 MB  00:00:00     
(4/4): updates/7/x86_64/primary_db                                                               | 3.4 MB  00:00:00     
=========================================================================================
Install  1 Package (+17 Dependent packages)

Total download size: 3.9 M
Installed size: 12 M
Is this ok [y/d/N]: 
  1. yum localinstall package_name.rpm:安装本地文件
  2. yum list updates:列出需要更新的安装包
  3. yum update package_name:更新某特定应用
  4. yum update:更新所有安装包
  5. yum remove page_name:装卸某应用
  6. yum erase package_name:删除软件及其所有相关文件
  7. yum repolist:查看自己的仓库源
[root@iz1zdpxadujj9vz learn]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id          repo name                     status
base/7/x86_64    CentOS-7                      10,019
epel/x86_64      Extra Packages for Enterprise 13,030
extras/7/x86_64  CentOS-7                         385
updates/7/x86_64 CentOS-7                       1,493
repolist: 24,927

  1. 从源码安装软件
    • 下载并解压
    • 进入解压文件,查看README文档
    • make install安装

2. 基本术语

  1. 文本命令界面command line interface 简称:CLI
  2. Linux将文件存储在单个目录结构中,这个目录被称为虚拟目录
  3. Linux使用正斜杠(/)而不是反斜杠()在文件路径中划分目录,Linux使用反斜杠来表示转义字符。
  4. Linux在pc安装的第一块硬盘称为:根驱动器,Linux会在根驱动器上建立一些特别的目录,我们称之为:挂载点
  5. 常见的目录名基于:文件系统层级标准(filesystem hierarchy standard).FHS
  6. *:标准匹配符,代表零个或者多个字符。
  7. ?:标准匹配夫,代表一个字符。
  8. ->:表示符号链接关系的符号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早睡的叶子

你的鼓励就是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值