Linux入门笔记

目录

  • Linux
    • 文件结构
    • 一、linux操作系统管理常用命令
      • 1.1 Linux常用命令
      • 1.2 命令高级操作
        • 命令补全
        • 使用历史命令
        • 输入/输出重定向
        • 管道功能
      • 1.3 文件操作命令
          • ls命令
          • cd命令
          • cat命令
          • more命令
          • head命令
          • tail命令
          • cp命令(copy)
          • mv命令(move file)
          • rm命令(remove)
          • touch命令
          • file命令
          • find命令
          • grep命令
          • sort命令
          • mkdir命令
          • rmdir命令
    • 二、VI/VIM编译器
      • 2.1是什么?
      • 2.2一般模式
      • 2.3编辑模式
      • 2.4指令模式
      • 关机重启命令
    • 三、用户与组命令管理
      • useradd命令
    • passwd命令
      • userdel命令
      • usermod命令
      • **groupadd 新增组**
      • **groupdel 删除组**
      • **groupmod 修改组**
    • 四、文件权限类命令
        • 更改权限 chmod
    • 五、磁盘分区类命令
      • **df 查看磁盘空间使用情况**
        • 1.基本语法
        • 2.选项说明
        • 3.案例实操
      • **fdisk 查看分区**
        • 1.基本语法
        • 2.选项说明
        • 3.经验技巧
        • 4.功能说明
        • 5.案例实操
    • 六、进程线程类命令
      • **ps** **查看当前系统进程状态**
        • 1.基本语法
        • 2.选项说明
        • 3.功能说明
        • 4.经验技巧
        • 5.案例实操
      • **kill 终止进程**
        • 1.基本语法
        • 2.选项说明
        • 3.案例实操
      • **pstree 查看进程树**
        • 1.基本语法
        • 2.选项说明
        • 3.案例实操
      • top 查看系统健康状态**
        • 1.基本命令
        • 2.选项说明
        • 3.操作说明
        • 4.查询结果字段解释
        • 5.案例实操
    • 七、系统定时任务
      • **crond 服务管理**
        • 1.重新启动crond服务
        • 1.基本语法
        • 2.选项说明
        • 3.参数说明
          • (1)进入crontab编辑界面。会打开vim编辑你的工作。
          • (2)特殊符号
          • (3)特定时间执行命令
        • 4.案例实操
    • 八、软件包管理
      • 8.1RPM
        • RPM概述:
      • **RPM查询命令(rpm -qa)**
        • 1.基本语法
        • 2.经验技巧
        • 3.案例实操
      • **RPM卸载命令(rpm -e)**
        • 1.基本语法
        • 2.选项说明
        • 3.案例实操
      • **RPM安装命令(rpm -ivh)**
        • 1.基本语法
        • 2.选项说明
        • 3.案例实操
    • 8.2**YUM仓库配置**
      • **YUM概述**
      • **YUM的常用命令**
        • 1.基本语法
        • 2.选项说明
        • 3.参数说明
        • 4.案例实操实操
      • **8.2.3** **修改网络YUM源**
        • 1.前期文件准备
        • 2.替换本地yum文件
        • 3.安装命令
        • 4.测试

Linux

文件结构

/bin

是Binary的缩写,这个目录存放着最经常使用的命令。

/sbin

s就是super的意思,这里存放的是系统管理员使用的系统管理程序。

/home

存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的.

/root

该目录Wie系统管理员,也称作超级权限者的用户主目录。

/lib

系统开机所需要的最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。

/lost+found

这个目录一般情况下是空的,当系统非法关机之后,这里就存放了一些文件

/etc

所有的心跳管理者所需要的配置文件和子目录

/usr

用户的很多应用程序和文件都是放在这个目录下,类似于Windows下的Programfiles目录

/boot

这里存放的是启动linux的一些核心文件,也包括一些连接文件以及镜像文件,自己的安装别放这里。

/proc

这个目录是一个虚拟的目录,他是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息

/srv

service缩写,该目录存放一些服务器启动之后需要提取的数据

/sys

这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs

/temp

这个目录是用来存放一些临时文件的

/dev

类似于windows的设备管理器,把所有的硬件用文件的形式存储

/media

linuix系统会自动识别一些设备,例如U盘等

识别后,linux会把是别的设备挂载到这个目录下

/mnt

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入目录就可以查看里面的内容了。

/opt

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

/var

这个目录存放着不断扩充的东西,我们习惯剪那些经常被修改的目录放在这个目录下

/selinux

是一种安全子系统,他能控制程序只能访问特定文件

一、linux操作系统管理常用命令

1.1 Linux常用命令

date命令:

date命令用于显示系统当前的日期和时间:

[root@localhost ~]# date
2021年 04月 11日 星期日 18:03:03 CST

pwd命令:

pwd命令用于显示当前工作路径:

[root@localhost ~]# pwd
/root

cd命令:

cd命令用于切换当前路径:

[root@localhost ~]# cd /mnt
[root@localhost mnt]# pwd
/mnt

cal命令:

用于显示日历,可显示公元1~9999年中某年某月的日历,不带参数显示当前月份的日历,或带参数显示指定年份、月份的日历:

[root@localhost mnt]# cal
四月 2021
日 一 二 三 四 五 六
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

who命令

who命令用于显示当前已经登录到系统的所有用户名、登录终端以及登陆时间:

[root@localhost mnt]# who
root tty1 2021-04-11 17:38 (:0)
root pts/0 2021-04-11 17:53 (:0.0)
root pts/1 2021-04-11 18:02 (:0.0)

wc命令:

wc命令用于统计给定文件的行数、字数、字符数

格式:

wc [- l,w,c] 文件名

-l 表示统计行数

-w 表示统计单词数

-c 表示统计字符数

uname命令:

uname命令用于显示操作系统当前信息,可带有多个选项。

clear命令

clear命令用于刷新屏幕,清空屏幕上的所有字符。

logout命令:

用于注销登录信息,直接退出系统,回到登录前的界面

shutdown命令

用于执行后关闭操作系统

1.2 命令高级操作

命令补全

用户在终端输入命令时,不用输入完整的命令,只要输入命令的前几个字符,按下Tab键,如果有唯一的命令或文件名与其匹配,系统会自动补全后面的字符;如果有多个命令或文件与之匹配,系统会列出所有与之匹配的命令或文件名

按一次会自动补全

两次会将所有以ma开头的命令显示出来

[root@localhost ~]# ma
magnifier mailx mako-render mapfile
mail make man mapscrn
mailq makedumpfile man2html matchpathcon
mailq.postfix makewhatis manpath mattrib
[root@localhost ~]# ma

使用历史命令

用户在使用Linux系统的过程中,输入的所有命令都会被系统自动记录下来,如果后期需要使用前面使用过的命令,可以通过上下箭头来选择最近使用过的命令,也可以使用history命令查看所有历史命令。

输入/输出重定向

Linux操作系统默认的输入设备是键盘输出设备是显示器

输入·重定向功能可以让用户将某个文件作为输入设备,输出重定向功能可以把某个文件作为输出设备,从而使系统的使用更加灵活。

输入重定向符号:“<”,执行该命令,“<”后面的文件代替用户从键盘输入的内容

管道功能

Linux系统中,命令执行完毕会有输出信息,使用管道功能可以把一个命令的输出信息作为另一个命令的输入信息,从而将两个或另个以上的简单命令连接在一起,实现复杂的功能

管道功能通过管道线“|”实现,管道线“|”前面命令的输出信息是管道线后面指令的输入信息

[root@localhost ~]# ls 显示文件和目录
anaconda-ks.cfg install.log.syslog 模板 图片 下载 桌面
install.log 公共的 视频 文档 音乐
[root@localhost ~]# ls | wc -w 统计文件和目录的数量
11

1.3 文件操作命令

ls命令

ls命令用来显示文件列表:

ls [选项] [目录或文件名]

命令选项:

-a:显示所有文件及目录,目录中以“.”开头的文件时隐藏文件,普通ls命令不会列出,只有带“-a”参数才能显示出来

-l:以长格式显示目录下的内容列表,输出的信息从左到右依次包括文件名,文件类型,权限模式,硬链接数,所有者,组,文件大小和文件最后的修改时间等

-i:显示文件索引节点号(inode),一个索引节点代表一个文件

-r:以文件名反序排列并输出目录内容列表

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

-m:用**”,“**号隔绝每个文件和目录的名称

-R/r:递归显示指定目录下的所有文件及子目录

[root@localhost 桌面]# ls
test test1 tet vmware-tools-distrib
test~ test2 VMwareTools-10.0.5-3228253.tar.gz 樱(堀与宫村).jpg
[root@localhost 桌面]# ls -l
总用量 71008
-rw-r–r--. 1 root root 180 4月 12 12:30 test
-rw-r–r--. 1 root root 0 4月 12 10:02 test~
-rw-r–r--. 1 root root 0 4月 12 13:03 test1
drwxr-xr-x. 2 root root 4096 4月 12 13:20 test2
-rw-r–r--. 1 root root 0 4月 12 12:31 tet
-rw-r–r--. 1 root root 72270857 11月 11 2015 VMwareTools-10.0.5-3228253.tar.gz
drwxr-xr-x. 9 root root 4096 11月 11 2015 vmware-tools-distrib
-rwxrw-rw-. 1 root root 422056 4月 4 19:23 樱(堀与宫村).jpg
[root@localhost 桌面]#

cd命令

cd命令用来切换工作目录至指定目录,可以用绝对路径或相对路径表示指定目录。若目录名称省略,则变换至使用者的home的目录。另外“~”也表示家目录的意思;“.”则是表示当前目录;“…”则表示目前目录位置的上一层目录。

[root@localhost ~]# cd /home
[root@localhost home]# pwd
/home
[root@localhost home]# cd
[root@localhost ~]# pwd
/root
[root@localhost ~]#

cat命令

cat命令用来显示文件的内容,还可以利用输入输出重定向功能建立小型文件或将两个文件连接起来。

当文件较大时,cat命令显示的文件内容在屏幕上迅速闪过(滚屏)

Ctrl+S 停止滚屏

Ctrl+Q 恢复滚屏

Ctrl+C 中断该命令的执行

cat [选项] [文件名]

cat命令的常用选项是 -n,显示文件时在每行前面加行号

[root@localhost 桌面]# cat test
hello linux
this is a new
四月 2021
日 一 二 三 四 五 六
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

[root@localhost 桌面]# cat -n test
1 hello linux
2 this is a new
3 四月 2021
4 日 一 二 三 四 五 六
5 1 2 3
6 4 5 6 7 8 9 10
7 11 12 13 14 15 16 17
8 18 19 20 21 22 23 24
9 25 26 27 28 29 30
10
[root@localhost 桌面]#

more命令

more命令用来分屏显示大文件。

[root@localhost ~]# more /etc/passwd
root❌0:0:root:/root:/bin/bash
bin❌1:1:bin:/bin:/sbin/nologin
daemon❌2:2:daemon:/sbin:/sbin/nologin
adm❌3:4:adm:/var/adm:/sbin/nologin
lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
sync❌5:0:sync:/sbin:/bin/sync
shutdown❌6:0:shutdown:/sbin:/sbin/shutdown
halt❌7:0:halt:/sbin:/sbin/halt
mail❌8:12:mail:/var/spool/mail:/sbin/nologin
uucp❌10:14:uucp:/var/spool/uucp:/sbin/nologin
operator❌11:0:operator:/root:/sbin/nologin
games❌12games:/usr/games:/sbin/nologin
gopher❌13:30:gopher:/var/gopher:/sbin/nologin
ftp❌14:50:FTP User:/var/ftp:/sbin/nologin
nobody❌99:99:Nobody:/:/sbin/nologin
dbus❌81:81:System message bus:/:/sbin/nologin
usbmuxd❌113:113:usbmuxd user:/:/sbin/nologin
rpc❌32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rtkit❌499:499:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd❌170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
vcsa❌69:69:virtual console memory owner:/dev:/sbin/nologin
abrt❌173:173::/etc/abrt:/sbin/nologin
rpcuser❌29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
–More–(66%)

head命令

前10行:

[root@localhost ~]# head /etc/passwd
root❌0:0:root:/root:/bin/bash
bin❌1:1:bin:/bin:/sbin/nologin
daemon❌2:2:daemon:/sbin:/sbin/nologin
adm❌3:4:adm:/var/adm:/sbin/nologin
lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
sync❌5:0:sync:/sbin:/bin/sync
shutdown❌6:0:shutdown:/sbin:/sbin/shutdown
halt❌7:0:halt:/sbin:/sbin/halt
mail❌8:12:mail:/var/spool/mail:/sbin/nologin
uucp❌10:14:uucp:/var/spool/uucp:/sbin/nologin
[root@localhost ~]#

tail命令

后10行:

[root@localhost ~]# tail /etc/passwd
nfsnobody❌65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
haldaemon❌68:68:HAL daemon:/:/sbin/nologin
ntp❌38:38::/etc/ntp:/sbin/nologin
apache❌48:48:Apache:/var/www:/sbin/nologin
saslauth❌498:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin
postfix❌89:89::/var/spool/postfix:/sbin/nologin
gdm❌42:42::/var/lib/gdm:/sbin/nologin
pulse❌497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd❌74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump❌72:72::/sbin/nologin
[root@localhost ~]#

cp命令(copy)

将一个或多个源文件或目录复制到指定的目标目录中。

cp [选项] 源文件或目录 目标文件或目录

选项列表:

-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原石文件或目录

-f:强行复制文件

-i:覆盖既有文件之前先询问用户(y/n)

-l:对源文件建立硬链接,而不是复制

-s:对源文件建立符号连接,而非复制文件

-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才会复制文件

-R/r:递归处理,将制定目录下的所有文件与子目录一并处理

mv命令(move file)

将文件从一个目录移到另一个目录中,或对文件或目录重新命名

mv [options] source dest
mv [options] source... directory
  • -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
  • -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
  • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
  • -n: 不要覆盖任何已存在的文件或目录。
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
rm命令(remove)

删除一个或多个文件或目录,如果删除的是链接文件,链接文件对应的源文件保持不变

rm [options] name...
  • -i 删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。
touch命令

创建新的空文件或者改变已有文件的时间标签

touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
  • a 改变档案的读取时间记录。
  • m 改变档案的修改时间记录。
  • c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
  • f 不使用,是为了与其他 unix 系统的相容性而保留。
  • r 使用参考档的时间记录,与 --file 的效果一样。
  • d 设定时间与日期,可以使用各种不同的格式。
  • t 设定档案的时间记录,格式与 date 指令相同。
  • –no-create 不会建立新档案。
  • –help 列出指令格式。
  • –version 列出版本讯息。
file命令

file命令用来识别文件类型,也可以用来辨别一些文件的编码格式

file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
  • -b  列出辨识结果时,不显示文件名称。
  • -c  详细显示指令执行过程,便于排错或分析程序执行的情形。
  • -f<名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
  • -L  直接显示符号连接所指向的文件的类别。
  • -m<魔法数字文件>  指定魔法数字文件。
  • -v  显示版本信息。
  • -z  尝试去解读压缩文件的内容。
  • [文件或目录…] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。

[root@localhost 桌面]# file test
test: UTF-8 Unicode text

find命令

在文件系统中查找指定的文件,可以根据文件的名称、大小、建立时间等信息查找文件。

find [目录列表] [文件的匹配标准]

-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

-amin n : 在过去 n 分钟内被读取过

-anewer file : 比文件 file 更晚被读取过的文件

-atime n : 在过去n天内被读取过的文件

-cmin n : 在过去 n 分钟内被修改过

-cnewer file :比文件 file 更新的文件

-ctime n : 在过去n天内被修改过的文件

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。

-type c : 文件类型是 c 的文件。

d: 目录

c: 字型装置文件

b: 区块装置文件

p: 具名贮列

f: 一般文件

l: 符号连结

s: socket

grep命令

在指定文件中检索匹配关键字信息

  • -a 或 --text : 不要忽略二进制的数据。
  • -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
  • -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
  • -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
  • -c 或 --count : 计算符合样式的列数。
  • -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
  • -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
  • -e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
  • -E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。
  • -f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
  • -F 或 --fixed-regexp : 将样式视为固定字符串的列表。
  • -G 或 --basic-regexp : 将样式视为普通的表示法来使用。
  • -h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。
  • -H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。
  • -i 或 --ignore-case : 忽略字符大小写的差别。
  • -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。
  • -L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。
  • -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
  • -o 或 --only-matching : 只显示匹配PATTERN 部分。
  • -q 或 --quiet或–silent : 不显示任何信息。
  • -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
  • -s 或 --no-messages : 不显示错误信息。
  • -v 或 --invert-match : 显示不包含匹配文本的所有行。
  • -V 或 --version : 显示版本信息。
  • -w 或 --word-regexp : 只显示全字符合的列。
  • -x --line-regexp : 只显示全列符合的列。
  • -y : 此参数的效果和指定"-i"参数相同。

[root@localhost 桌面]# grep root /etc/passwd
root❌0:0:root:/root:/bin/bash
operator❌11:0:operator:/root:/sbin/nologin

sort命令

将文件排序

  • -b 忽略每行前面开始出的空格字符。
  • -c 检查文件是否已经按照顺序排序。
  • -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
  • -f 排序时,将小写字母视为大写字母。
  • -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
  • -m 将几个排序好的文件进行合并。
  • -M 将前面3个字母依照月份的缩写进行排序。
  • -n 依照数值的大小排序。
  • -u 意味着是唯一的(unique),输出的结果是去完重了的。
  • -o<输出文件> 将排序后的结果存入指定的文件。
  • -r 以相反的顺序来排序。
  • -t<分隔字符> 指定排序时所用的栏位分隔字符。
  • +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
  • –help 显示帮助。
  • –version 显示版本信息。
mkdir命令

创建目录

mkdir [选项] 目录列表

-m:建立目录的同时设置目录的权限

`-p: 若想要建立的目录的·上层命令还没有建立,则会一并建立上层目录

rmdir命令

删除空目录

-r:强行删除命令及目录中的文件和子目录

-p:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除

二、VI/VIM编译器

2.1是什么?

VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。

VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。

2.2一般模式

以vi打开一个档案就直接进入一般模式了,这是默认的模式

语法 功能描述
yy 复制光标当前一行
y数字y 复制一段(从第几行到第几行)
p 箭头移动到目的行粘贴
u 撤销上一步
dd 删除光标当前行
d数字d 删除光标(含)后多少行
x 删除一个字母,相当于del,向后删
X 删除一个字母,相当于Backspace,向前删
yw 复制一个词
dw 删除一个词
shift+^ 移动到行头
shift+$ 移动到行尾
gg或者1+G 移动到页头
G 移动到页尾
数字+G(先输入数字,在按G) 移动到目标行

2.3编辑模式

在一般模式中可以进行删除、复制、粘贴等动作,但是无法编辑文件内容,需要按下【i,I,o,O,a,A,r,R】等任何一个字母之后才会进入编辑模式(Esc可退出编辑模式)

按键 功能
i 当前光标前
a 当前光标后
o 当前光标行的下一行
I 光标所在行最前
A 光标所在行最后
O 当前光标行的上一行

2.4指令模式

一般模式中输入【: / ?】三个中任何一个,可以将光标移动到最底下那一行。

在这个模式中,可以提供:

命令 功能
:w 保存
:q 退出
:! 强制执行
/ 要查找的词 n 查找下一个,N 往上查找
? 要查找的词 n是查找上一个,N是往下查找
:set nu 显示行号
:set nonu 关闭行号
ZZ(shift+zz) 没有修改文件直接退出,如果修改了文件保存后退出

强制退出:

:wq!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YESooOFV-1618727352525)(D:\scala\030_Scala\4.视频\编辑模式-一般模式-指令模式.jpg)]

关机重启命令

正确关机流程为:sync>shutdown>reboot>halt

基本语法:

1》sync (功能描述:将数据由内存同步到硬盘中)

2》halt (功能描述:关闭系统,等同于 shutdown -h now 和 poweroff)

3》reboot (功能描述:就是重启 等同于 shutdown -r now)

shutdown [选项] 时间

选项 功能
-h -h=halt关机
-r -r=reboot重启
参数 功能
now 立刻关机
时间 等待多久后关机(时间单位是分钟)。

案例实操

(1)将数据由内存同步到硬盘中

[root@hadoop100桌面]#sync

(2)重启

[root@hadoop100桌面]# reboot

(3)关机

[root@hadoop100桌面]#halt

(4)计算机将在1分钟后关机,并且会显示在登录用户的当前屏幕中

[root@hadoop100桌面]#shutdown -h 1 ‘This server will shutdown after 1 mins’

(5)立马关机(等同于 halt)

[root@hadoop100桌面]# shutdown -h now

(6)系统立马重启(等同于 reboot)

[root@hadoop100桌面]# shutdown -r now

三、用户与组命令管理

Linux是一个多用户,多任务的操作系统,每个使用操作系统的人员必须先得到一个用户账号,通过账号和密码进行身份验证。

cat /ect/passwd

查看文件内容,每行文字对应一个用户,格式为:

用户名:口令:用户ID:组ID:注释性描述:主目录:登录shell

useradd命令

命令选项 含义
-d 指定用户登录时的起始目录
-c 给用户加上备注文子
-e 指定账号的有效期限
-f 指定密码过期后多少天即关闭该账号
-g 指定用户所属的群组
-s 指定用户登录后所使用的shell
-u 指定用户ID

passwd命令

命令选项 含义
-l 锁定密码,使用户无法登陆系统
-d 删除密码
-s 显示密码信息
-u 启用已被停止的账户
-f 强制执行

userdel命令

选项 功能
-r 删除用户的同时,删除与用户相关的所有文件。

usermod命令

选项 功能
-g 修改用户的初始登录组,给定的组必须存在

[root@hadoop101 opt]#usermod -g root zhubajie

groupadd 新增组

1.基本语法

groupadd 组名

2.案例实操

​ (1)添加一个xitianqujing组

[root@hadoop101 opt]#groupadd xitianqujing

groupdel 删除组

1.基本语法

groupdel 组名

2.案例实操

​ (1)删除xitianqujing组

[root@hadoop101 opt]# groupdel xitianqujing

groupmod 修改组

1.基本语法

groupmod -n 新组名 老组名

2.选项说明

选项 功能描述
-n<新组名> 指定工作组的新组名

3.案例实操

​ (1)修改atguigu组名称为atguigu1

[root@hadoop101 ~]#groupadd xitianqujing

[root@hadoop101 ~]# groupmod -n xitian xitianqujing

四、文件权限类命令

在linux系统中,出于安全的考虑,对文件的访问权限进行了严格的限制,规定用户对自己的文件进行权限设置,其他用户只能在权限许可的情况下进行访问。

linux将用户分为3中不同类型,分别是文件所有者、同组用户和其他用户。

每一文件或目录的访问权限都有3组,每组用3位表示:

  1. 文件属主的读权限、写权限、执行权限
  2. 和属主同组的用户的读权限、写权限、执行权限
  3. 系统中其他用户的读权限、写权限、执行权限

可以用ls -l查看文件的访问权限

[root@hadoop101 ~]# ll

总用量 104

-rw-------. 1 root root 1248 1月 8 17:36 anaconda-ks.cfg

drwxr-xr-x. 2 root root 4096 1月 12 14:02 dssz

lrwxrwxrwx. 1 root root 20 1月 12 14:32 houzi -> xiyou/dssz/houge.tx

更改权限 chmod

chmod [who] [+|-|=] [mode] 文件名

r,w,x属于mode中的。

u 表示用户,即文件或目录的所有者
g 表示同组用户,即和文件属主用相同组ID的所有用户
o 其他用户
a 所有用户
+ 添加权限
- 删除权限
= 赋予制定权限并取消其他所有权限
r 可读
w 可写
x 可执行

五、磁盘分区类命令

df 查看磁盘空间使用情况

df: disk free 空余硬盘

1.基本语法

​ df 选项 (功能描述:列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况)

2.选项说明

选项 功能
-h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

3.案例实操

​ (1)查看磁盘使用情况

[root@hadoop101 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda2 15G 3.5G 11G 26% /

tmpfs 939M 224K 939M 1% /dev/shm

/dev/sda1 190M 39M 142M 22% /boot

fdisk 查看分区

1.基本语法

​ fdisk -l (功能描述:查看磁盘分区详情)

2.选项说明

选项 功能
-l 显示所有硬盘的分区列表

3.经验技巧

该命令必须在root用户下才能使用

4.功能说明

​ (1)Linux分区

Device:分区序列

Boot:引导

Start:从X磁柱开始

End:到Y磁柱结束

Blocks:容量

Id:分区类型ID

System:分区类型

5.案例实操

​ (1)查看系统分区情况

[root@hadoop101 /]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0005e654

Device Boot Start End Blocks Id System

/dev/sda1 * 1 26 204800 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 26 1332 10485760 83 Linux

/dev/sda3 1332 1593 2097152 82 Linux swap / Solaris

六、进程线程类命令

进程:在linux操作系统中,进程是操作系统调度的基本单位。创建进程的目的就是可以使多个程序并发的执行,从而可以提高系统的资源利用率和吞吐量。

ps 查看当前系统进程状态

ps:process status 进程状态

1.基本语法

ps aux | grep xxx (功能描述:查看系统中所有进程)

ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)

2.选项说明

选项 功能
-a 选择所有进程
-u 显示所有用户的所有进程
-x 显示没有终端的进程

3.功能说明

​ (1)ps aux显示信息说明

​ USER:该进程是由哪个用户产生的

​ PID:进程的ID号

%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;

%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;

VSZ:该进程占用虚拟内存的大小,单位KB;

RSS:该进程占用实际物理内存的大小,单位KB;

TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。

STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台

START:该进程的启动时间

TIME:该进程占用CPU的运算时间,注意不是系统时间

COMMAND:产生此进程的命令名

(2)ps -ef显示信息说明

UID:用户ID

PID:进程ID

PPID:父进程ID

C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

STIME:进程启动的时间

TTY:完整的终端名称

TIME:CPU时间

CMD:启动进程所用的命令和参数

4.经验技巧

​ 如果想查看进程的CPU占用率和内存占用率,可以使用aux;

如果想查看进程的父进程ID可以使用ef;

5.案例实操

[root@hadoop101 datas]# ps aux

查看进程的CPU占用率和内存占用率

[root@hadoop101 datas]# ps -ef

kill 终止进程

1.基本语法

​ kill [选项] 进程号 (功能描述:通过进程号杀死进程)

​ killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)

2.选项说明

选项 功能
-9 表示强迫进程立即停止

3.案例实操

​ (1)杀死浏览器进程

[root@hadoop101 桌面]# kill -9 5102

​ (2)通过进程名称杀死进程

[root@hadoop101 桌面]# killall firefox

pstree 查看进程树

1.基本语法

​ pstree [选项]

2.选项说明

选项 功能
-p 显示进程的PID
-u 显示进程的所属用户

3.案例实操

​ (1)显示进程pid

[root@hadoop101 datas]# pstree -p

​ (2)显示进程所属用户

[root@hadoop101 datas]# pstree -u

top 查看系统健康状态**

1.基本命令

​ top [选项]

2.选项说明

选项 功能
-d 秒数 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:
-i 使top不显示任何闲置或者僵死进程。
-p 通过指定监控进程ID来仅仅监控某个进程的状态。

3.操作说明

操作 功能
P 以CPU使用率排序,默认就是此项
M 以内存的使用率排序
N 以PID排序
q 退出top

4.查询结果字段解释

第一行信息为任务队列信息

内容 说明
12:26:46 系统当前时间
up 1 day, 13:32 系统的运行时间,本机已经运行1天13小时32分钟
2 users 当前登录了两个用户
load average: 0.00, 0.00, 0.00 系统在之前1分钟,5分钟,15分钟的平均负载。一般认为小于1时,负载较小。如果大于1,系统已经超出负荷。

第二行为进程信息

Tasks: 95 total 系统中的进程总数
1 running 正在运行的进程数
94 sleeping 睡眠的进程
0 stopped 正在停止的进程
0 zombie 僵尸进程。如果不是0,需要手工检查僵尸进程

第三行为CPU信息

Cpu(s): 0.1%us 用户模式占用的CPU百分比
0.1%sy 系统模式占用的CPU百分比
0.0%ni 改变过优先级的用户进程占用的CPU百分比
99.7%id 空闲CPU的CPU百分比
0.1%wa 等待输入/输出的进程的占用CPU百分比
0.0%hi 硬中断请求服务占用的CPU百分比
0.1%si 软中断请求服务占用的CPU百分比
0.0%st st(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。

第四行为物理内存信息

Mem: 625344k total 物理内存的总量,单位KB
571504k used 已经使用的物理内存数量
53840k free 空闲的物理内存数量,我们使用的是虚拟机,总共只分配了628MB内存,所以只有53MB的空闲内存了
65800k buffers 作为缓冲的内存数量

第五行为交换分区(swap)信息

Swap: 524280k total 交换分区(虚拟内存)的总大小
0k used 已经使用的交互分区的大小
524280k free 空闲交换分区的大小
409280k cached 作为缓存的交互分区的大小

5.案例实操

[root@hadoop101 atguigu]# top -d 1

[root@hadoop101 atguigu]# top -i

[root@hadoop101 atguigu]# top -p 2575

执行上述命令后,可以按P、M、N对查询出的进程结果进行排序。

七、系统定时任务

crond 服务管理

1.重新启动crond服务

[root@hadoop101 ~]# service crond restart

crontab 定时任务设置

1.基本语法

crontab [选项]

2.选项说明

选项 功能
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务

3.参数说明

[root@hadoop101 ~]# crontab -e

(1)进入crontab编辑界面。会打开vim编辑你的工作。

* * * * * 执行的任务

项目 含义 范围
第一个“*” 一小时当中的第几分钟 0-59
第二个“*” 一天当中的第几小时 0-23
第三个“*” 一个月当中的第几天 1-31
第四个“*” 一年当中的第几月 1-12
第五个“*” 一周当中的星期几 0-7(0和7都代表星期日)
(2)特殊符号
特殊符号 含义
* 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
- 代表连续的时间范围。比如“0 5 * * 1-6命令”,代表在周一到周六的凌晨5点0分执行命令
*/n 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令
(3)特定时间执行命令
时间 含义
45 22 * * * 命令 在22点45分执行命令
0 17 * * 1 命令 每周1 的17点0分执行命令
0 5 1,15 * * 命令 每月1号和15号的凌晨5点0分执行命令
40 4 * * 1-5 命令 每周一到周五的凌晨4点40分执行命令
*/10 4 * * * 命令 每天的凌晨4点,每隔10分钟执行一次命令
0 0 1,15 * 1 命令 每月1号和15号,每周1的0点0分都会执行命令。注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。

4.案例实操

​ (1)每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字

*/1 * * * * /bin/echo ”11” >> /root/bailongma.txt

格式为五个*符号

用自己选择的字符串替换相应位置的*号。

八、软件包管理

8.1RPM

RPM概述:

RPM(RedHat Package Manager),RedHat软件包管理工具,类似window里面的setup.exe是linux这系列操作系统里面的打包安装工具,他虽然是RedHat的标志,但理念是通用的。

RPM包的名称格式

Apache-1.3.23-11.i386.rpm

- “apache” 软件名称

- “1.3.23-11”软件的版本号,主版本和此版本

- “i386”是软件所运行的硬件平台,Intel 32位微处理器的统称

- “rpm”文件扩展名,代表RPM包

RPM查询命令(rpm -qa)

1.基本语法

rpm -qa (功能描述:查询所安装的所有rpm软件包)

2.经验技巧

由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包

3.案例实操

​ (1)查询firefox软件安装情况

[root@hadoop101 Packages]# rpm -qa |grep firefox

firefox-45.0.1-1.el6.centos.x86_64

RPM卸载命令(rpm -e)

1.基本语法

(1)rpm -e RPM软件包

(2) rpm -e --nodeps 软件包

2.选项说明

表1-50

选项 功能
-e 卸载软件包
–nodeps 卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了。

3.案例实操

​ (1)卸载firefox软件

[root@hadoop101 Packages]# rpm -e firefox

RPM安装命令(rpm -ivh)

1.基本语法

rpm -ivh RPM包全名

2.选项说明

表1-51

选项 功能
-i -i=install,安装
-v -v=verbose,显示详细信息
-h -h=hash,进度条
–nodeps –nodeps,不检测依赖进度

3.案例实操

​ (1)安装firefox软件

[root@hadoop101 Packages]# pwd

/media/CentOS_6.8_Final/Packages

[root@hadoop101 Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm

warning: firefox-45.0.1-1.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

Preparing… ########################################### [100%]

1:firefox ########################################### [100%]

8.2YUM仓库配置

YUM概述

YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装

YUM的常用命令

1.基本语法

​ yum [选项] [参数]

2.选项说明

表1-52

选项 功能
-y 对所有提问都回答“yes”

3.参数说明

参数 功能
install 安装rpm软件包
update 更新rpm软件包
check-update 检查是否有可用的更新rpm软件包
remove 删除指定的rpm软件包
list 显示软件包信息
clean 清理yum过期的缓存
deplist 显示yum软件包的所有依赖关系

4.案例实操实操

​ (1)采用yum方式安装firefox

[root@hadoop101 ~]#yum -y install firefox.x86_64

8.2.3 修改网络YUM源

默认的系统YUM源,需要连接国外apache网站,网速比较慢,可以修改关联的网络YUM源为国内镜像的网站,比如网易163。

1.前期文件准备

(1)前提条件linux系统必须可以联网

(2)在Linux环境中访问该网络地址:http://mirrors.163.com/.help/centos.html,在使用说明中点击CentOS6->再点击保存

(3)查看文件保存的位置

在打开的终端中输入如下命令,就可以找到文件的保存位置。

[atguigu@hadoop101 下载]$ pwd

/home/atguigu/下载

2.替换本地yum文件

​ (1)把下载的文件移动到/etc/yum.repos.d/目录

[root@hadoop101 下载]# mv CentOS6-Base-163.repo /etc/yum.repos.d/

​ (2)进入到/etc/yum.repos.d/目录

[root@hadoop101 yum.repos.d]# pwd

/etc/yum.repos.d

​ (3)用CentOS6-Base-163.repo替换CentOS-Base.repo

[root@hadoop101 yum.repos.d]# mv CentOS6-Base-163.repo CentOS-Base.repo

3.安装命令

(1)[root@hadoop101 yum.repos.d]#yum clean all

(2)[root@hadoop101 yum.repos.d]#yum makecache

yum makecache就是把服务器的包信息下载到本地电脑缓存起来

4.测试

[root@hadoop101 yum.repos.d]#yum list | grep firefox

[root@hadoop101 ~]#yum -y install firefox.x86_64

你可能感兴趣的:(Linux入门笔记)