【第四课】Linux的基础命令使用
目录
一、passwd重置密码
root用户,直接执行
passwd
回车 输入两次新密码即可
普通用户,也可以改。passwd username
user1
登录后,改自己密码,只需要执行passwd
即可
语法:
passwd [username]
参数:
--stdin 明文设置密码,常用于shell脚本
[root@localhost ~]# passwd root #修改root用户密码
Changing password for user root.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# useradd user1 #增加普通用户
[root@localhost ~]# passwd user1 #修改普通用户密码
Changing password for user user1.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd --stdin user1
二、单用户模式
当我们忘记了密码,也没有密钥,该怎么办呢???Linux系统提供了一种单用户模式。单用户模式是Centos 7系统的一个运行级别。那么什么是运行级别呢?
运行级别就是操作系统当前正在运行的功能级别,级别是从0到6。Centos7系统之前的版本是通过/etc/inittab
文件来定义系统运行级别:
[root@localhost ~]# cat /etc/centos-release
CentOS release 6.4 (Final)
[root@localhost ~]# cat /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this) # 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
# 1 - Single user mode # 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 运行级别2:多用户状态(没有NFS)
# 3 - Full multiuser mode # 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
# 4 - unused # 运行级别4:系统未使用,保留
# 5 - X11 # 运行级别5:X11控制台,登陆后进入图形GUI模式
# 6 - reboot (Do NOT set initdefault to this) # 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
#
id:3:initdefault: # 表示运行级别3,是默认的
CentOS 7 版本不再使用该文件定义系统运行级别,相关运行级别设置无效:
[root@localhost ~]# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
[root@localhost ~]# cat /etc/inittab
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run: #查看当前运行级别使用如下命令
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target #设置默认运行级别,使用如下命令
#
新版本的运行级别都定义在
/lib/systemd/system/runlevel*
[root@localhost ~]# ll /lib/systemd/system/runlevel*
lrwxrwxrwx. 1 root root 15 Dec 3 2017 /lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Dec 3 2017 /lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Dec 3 2017 /lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Dec 3 2017 /lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Dec 3 2017 /lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Dec 3 2017 /lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Dec 3 2017 /lib/systemd/system/runlevel6.target -> reboot.target
Centos 7和之前版本的运行级别对应表,如下:
init级别 | systemctl target |
---|---|
0 | shutdown.target |
1 | emergency.target |
2 | rescure.target |
3 | multi-user.target |
4 | 无 |
5 | graphical.target |
6 | 无 |
设置运行级别:
命令格式:
systemctl [command] [unit.target]
参数详解:
- get-default:获取当前的target
- set-default:设置指定的target为默认的运行级别
- isolate:切换到指定的运行级别
[root@localhost ~]# systemctl get-default #获取当前运行级别
[root@localhost ~]# systemctl set-default multi-user.target #设置默认运行级别为multi-user
[root@localhost ~]# systemctl isolate multi-user.target #在不重启情况下,切换到multi-user
[root@localhost ~]# systemctl isolate graphical.target #在不重启的情况下,切换到图形界面
如何进入单用户模式?
- 重启机器,按一下方向键,不让系统马上启动,选择中第一个启动项,按
e
进入grub
界面
- 找到
linux16
这一行,找到ro
更改为rw init=/sysroot/bin/sh
,这里最好修改LANG=zh_CN.UTF-8
为LANG=en_US.UTF-8
,避免修改密码时有乱码,再按ctrl +x
启动。
- 再执行
chroot /sysroot/
,进入到真正的Linux
- 系统里执行
passwd
更改密码- 执行
touch /.autorelabel
(touch命令是用来创建一个新文件,或者说更改文件时间的命令)- 执行exit 推出 chroot的系统环境,到内存的环境
- 再执行reboot,重启
三、救援模式
救援模式和单用户模式有点类似,不同的是救援模式需要使用系统盘来进行启动,是一个内存操作系统。
如何进入救援模式?
- 1)关机
- 2)点右键 电源 启动时 进入bios
- 3)到bios里面,选择boot,把光驱放到第一位 按F10 点yes
- 4)选择troubleshuooting 回车 选择 rescue a centos system
- 5)选择continue
- 6)回车后,敲命令 chroot /mnt/sysimage
- 7) 执行passwd命令
- 8) 执行exit 然后执行 reboot 同时把光驱断开
四、设置SElinux
[root@localhost ~]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled #把enforing改为disabled,需要重启系统才会生效
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
#临时修改selinux的策略
[root@localhost ~]# setenforce 0 #临时关闭selinux,重启后还会引用配置文件中的配置
[root@localhost ~]# getenforce #获取slinux的状态信息
Disabled
五、Linux的常用基础命令详解
5.1、mkdir命令
mkdir : 创建目录, make directorys, -p 递归创建目录
[root@localhost test]# mkdir -pv /a/b/c
mkdir: created directory ‘/a’
mkdir: created directory ‘/a/b’
mkdir: created directory ‘/a/b/c’
5.2、ls命令
-l(long)d(directory)显示目录或文件,全称 list
语法:
ls [OPTION]... [FILE]...
参数:
-a 查看隐藏的文件或者目录
-l 查看文件的详细信息(时间、大小、权限、属主、属组、文件的属性)
- 普通文件
d 目录
l 软链接文件(类似于windows的快捷方式)
b 块设备文件(磁盘)
c 字符设备文件 (键盘、鼠标)
s 套接字文件 (socket文件,这个文件是Unix/Linux系统里面用来通信的,进程间通信的文件)
p 管道文件 ( | 命名管道 )
-d 查看目录本身
-t 按时间排序,最新的在上面
-i inode(在格式化磁盘的时候生成的,mkfs.ext4)
[root@localhost test]# ls -a
. .. 1.txt 3.txt 4.txt test1
[root@localhost test]# ls -l
total 4
-rw-r--r-- 1 root root 7 Jan 30 2018 1.txt
-rw-r--r-- 1 root root 0 Jan 27 2018 3.txt
-rw-r--r-- 1 root root 0 Jan 27 2018 4.txt
drwxr-xr-x 2 root root 18 Jan 30 2018 test1
[root@localhost test]# ls -d
.
[root@localhost test]# ls -lt
total 4
drwxr-xr-x 2 root root 18 Jan 30 2018 test1
-rw-r--r-- 1 root root 7 Jan 30 2018 1.txt
-rw-r--r-- 1 root root 0 Jan 27 2018 3.txt
-rw-r--r-- 1 root root 0 Jan 27 2018 4.txt
[root@localhost test]# ls -li
total 4
37267089 -rw-r--r-- 1 root root 7 Jan 30 2018 1.txt
41800725 -rw-r--r-- 1 root root 0 Jan 27 2018 3.txt
41800729 -rw-r--r-- 1 root root 0 Jan 27 2018 4.txt
101976481 drwxr-xr-x 2 root root 18 Jan 30 2018 test1
5.3、cd命令
cd : 切换目录层次 change directory
~表示家目录,
-表示上一次的目录
cd ~
cd /tep/fq
cd /root
cd - # 回到/tep/fq
5.4、chmod命令
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定
在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如:
[root@localhost test]# ls -l
total 4
-rw-r--r-- 1 root root 7 Jan 30 2018 1.txt
-rw-r--r-- 1 root root 0 Jan 27 2018 3.txt
-rw-r--r-- 1 root root 0 Jan 27 2018 4.txt
drwxr-xr-x 2 root root 18 Jan 30 2018 test1
实例中,test1文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
- 当为[ d ]则是目录
- 当为[ - ]则是文件;
- 若是[ l ]则表示为链接文档(link file);
- 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
每个文件的属性由左边第一部分的10个字符来确定(如下图)。
从左至右用0-9这些数字来表示。
- 第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。
- 第4-6位确定属组(所有者的同组用户)拥有该文件的权限
- 第7-9位确定其他用户拥有该文件的权限。
其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下: - r:4
- w:2
- x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是: - owner = rwx = 4+2+1 = 7
- group = rwx = 4+2+1 = 7
- others= --- = 0+0+0 = 0
设定权限的变更时,该文件的权限数字就是770啦!变更权限的指令chmod的语法是这样的:
语法:
chmod [-R] xyz 文件或目录
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
将.bashrc这个文件所有的权限都设定启用,那么命令如下:
[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。
符号类型改变文件权限
还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:
- (1)user
- (2)group
- (3)others
那么我们就可以使用 u, g, o 来代表三种身份的权限!
此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:
如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:
[root@localhost test]# touch test1 #创建 test1 文件
[root@localhost test]# ls -al test1 #查看 test1 默认权限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
[root@localhost test]# chmod u=rwx,g=rx,o=r test1 #修改 test1 权限
[root@localhost test]# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1
而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:
[root@localhost test]# chmod a-x test1
[root@localhost test]# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
5.5、chown命令
chown:用于更改文件或者目录的属主或者属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
参数说明:
-R:级联更改目录下的所有目录和文件
例如:
chown user1:users 1.txt
chown user1.users 1.txt
进入 test 目录将1.txt的拥有者改为user1这个账号:
[root@localhost test]# ll
total 4
-rw-r--r-- 1 root root 7 Jan 30 2018 1.txt
-rw-r--r-- 1 root root 0 Jan 27 2018 3.txt
-rw-r--r-- 1 root root 0 Jan 27 2018 4.txt
drwxr-xr-x 2 root root 18 Jan 30 2018 test1
[root@localhost test]# chown -R user1.user1 1.txt
[root@localhost test]# ll
total 4
-rw-r--r-- 1 user1 user1 7 Jan 30 2018 1.txt
-rw-r--r-- 1 root root 0 Jan 27 2018 3.txt
-rw-r--r-- 1 root root 0 Jan 27 2018 4.txt
drwxr-xr-x 2 root root 18 Jan 30 2018 test1
5.6、echo命令
echo : 打印输出内容(printf 复杂的输出)
参数: -n : 不换行输出
-e : 激活转义字符
[root@localhost test]# echo "hello world"
hello world
[root@localhost test]# echo -n "hello world"
hello world
[root@localhost test]# echo -e "hello\nworld"
hello
world
5.7、cat命令
查看文件内容
[root@localhost test]# cat /etc/hosts #查看文件内容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.11 linux-node1 linux-node1.example.com
192.168.56.12 linux-node2 linux-node2.example.com
[root@localhost test]# cat -n /etc/hosts #显示行号
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 192.168.56.11 linux-node1 linux-node1.example.com
4 192.168.56.12 linux-node2 linux-node2.example.com
5
[root@localhost test]# cat >>a.txt<<EOF #将EOF之间的所有数据都追加到a.txt文件尾部
> 666
> 777
> 888
> EOF
[root@localhost test]# cat a.txt
666
777
888
5.8、cp命令
cp:cp - copy files and directories 拷贝文件
[root@localhost test]# cp a.txt /tmp/
[root@localhost test]# cp -r test1 /tmp
5.9、useradd:建立用户账号
格式:
useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][用户帐号] 或 useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群
组>][-s ]
参数:
-c<备注> 加上备注文字。备注文字会保存在 passwd 的备注栏位中。
-d<登入目录> 指定用户登入时的启始目录。
-D 变更预设值.
-e<有效期限> 指定帐号的有效期限。 格式 MM/DD/YY
-f<缓冲天数> 指定在密码过期后多少天即关闭该帐号。 0:立即停权 -1:关闭此功能(默认值-1)
-g<群组> 指定用户所属的群组。
-G<群组> 指定用户所属的附加群组。
-m 自动建立用户的登入目录。
-M 不要自动建立用户的登入目录。
-n 取消建立以用户名称为名的群组.
-r 建立系统帐号。
-s 指定用户登入后所使用的 shell。 不填写时,系统根据/etc/default/useradd 预设值指定
-u 指定用户 ID。
-p 创建用户时,直接指定密码,但在 /etc/shadow 文件中以明文显示,不安全
[root@localhost test]# useradd -g test -G dba -p password -d /home/oracle -s /bin/bash oracle
补充说明: useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码.而可用 userdel 删除帐号。使用 useradd 指令所建立的帐号,实际上是保存在/etc/passwd 文本文件中。passwd 设定的密码在/etc/shadow 文件中。
5.10、userdel : 删除用户
参数:
-f, --force force removal of files, even if not owned by user
-h, --help display this help message and exit
-r, --remove 在删除用户的同时一起把这个用户的宿主目录和邮件目录删除。
示例:
[root@localhost test]# userdel -r newuser
5.11、tail:监控文件的变化
参数:
-n 行数,显示文件后几行,默认 10 行;
-f 跟踪文件结尾变化,如果文件被删除后重建,不会显示新的变化
-F 跟踪文件结尾变化,会尝试重新连接文件,如果文件被删除后重建,会显示新的变化
[root@localhost test]# tail -n 500 a.txt
[root@localhost test]# tail -500 a.txt
类似命令: tailf。
tailf 相当于 tail -f,类似于 tail -f,严格说来应该与 tail –follow=name 更相似些。
与 tail -f 不同的是,如果文件不增长,它不会去访问磁盘文件,所以省电,并减少了磁盘访问
5.12、id: 显示用户 id 和组 id 信息
语法:
id [-gGnru][--help][--version][用户名称]
参数:
-a 打印用户名、 UID 和该用户所属的所有组
-g 或--group 显示用户所属群组的 ID。
-G 或--groups 显示用户所属附加群组的 ID。
-n 或--name 显示用户,所属群组或附加群组的名称。
-r 或--real 显示实际 ID。
-u 或--user 显示用户 ID。
--help 显示帮助。
--version 显示版本信息。
[root@localhost test]# id
uid=0(root) gid=0(root) groups=0(root)
[root@localhost test]# id -gn
root
[root@localhost test]# id -un
root
5.13、history:查看命令历史
[root@localhost test]# history -c #清空历史记录
[root@localhost test]# history
25 history
[root@localhost test]# history -d 28 #删除指定行号的历史记录
5.14、route:路由配置
语法:
route (选项)(参数)
选项:
-A:设置地址类型
-C:打印将 Linux 核心的路由缓存
-v:详细信息模式
-n:不执行 DNS 反向查找,直接显示数字形式的 IP 地址
-e: netstat 格式显示路由表
-net:到一个网络的路由表
-host:到一个主机的路由表。
参数:
Add:增加指定的路由记录
Del:删除指定的路由记录
Target:目的网络或目的主机
gw:设置默认网关
mss:设置 TCP 的最大区块长度(MSS),单位 MB
window:指定通过路由表的 TCP 连接的 TCP 窗口大小
dev:路由记录所表示的网络接口。
[root@localhost test]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.56.2 0.0.0.0 UG 100 0 0 eth0
192.168.56.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
其中 Flags 为路由标志,标记当前网络节点的状态, Flags 标志说明:
U Up 表示此路由当前为启动状态。
H Host,表示此网关为一主机。
G Gateway,表示此网关为一路由器。
R Reinstate Route,使用动态路由重新初始化的路由。
D Dynamically,此路由是动态性地写入。
M Modified,此路由是由路由守护程序或导向器动态修改。
! 表示此路由当前为关闭状态
增加一条到达 244.0.0.0 的路由。
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
增加一条屏蔽的路由,目的地址为 224.x.x.x 将被拒绝。
route add -net 224.0.0.0 netmask 240.0.0.0 reject
删除路由记录:
route del -net 224.0.0.0 netmask 240.0.0.0
route del -net 224.0.0.0 netmask 240.0.0.0 reject
删除默认网关
route del default gw 192.168.1.1
添加默认网关
route add default gw 192.168.1.1
六、软链接和硬链接
硬链接:当系统需要读取一个文件时,就会先去读取inode table,一个文件对应一个inode,然后再根据inode中的信息到块区域去将数据读取出来。而硬链接是直接使用了和源文件相同的inode。进行硬链接的时候实际上该文件的内容没有任何变化,只是指定了相同的inode。硬链接有两个限制:①不能跨文件系统,因为不同的文件系统有不同的inode table;②不能链接目录。
软链接:跟硬链接不同,这个是建立一个独立的文件,而这个文件的作用是当读取这个链接文件时,它会把读取的行为转发到该文件所link的文件上。相当于windows系统中的快捷方式。当源文件被删除时,link文件将无法打开文件。
语法:ln 【-s】 【源文件】 【目的文件】
ln的常用选项就一个-s,如果不加就是建立硬链接,加上就是建立软连接。
[root@longlinux ~]# ln -s /etc/passwd /tmp/passwd1 //建立/etc/passwd的软链接
[root@longlinux ~]# ls -l /tmp/passwd1
lrwxrwxrwx 1 root root 11 8月 24 23:10 /tmp/passwd1 -> /etc/passwd
[root@longlinux ~]# ls -i /etc/passwd
788439 /etc/passwd
[root@longlinux ~]# ln /etc/passwd /tmp/passwd0 //建立/etc/passwd的硬链接
[root@longlinux ~]# ls -i /etc/passwd && ls -i /tmp/passwd0 //都指向同一个inode:788439
788439 /etc/passwd
788439 /tmp/passwd0
最后,来一张图解说明软链接和硬链接:
七、RPM工具用法
RPM [1] 是Red-Hat Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
(1)rpm选项
-i 表示安装
-U 表示升级一个包
-v 表示可视化
-h 表示显示安装进度
-e 卸载一个包
-q 查询一个包是否已经安装
-qi 查询指定包信息
-ql 列出一个包安装的文件
-qf 查询文件绝对路径
rpm -qf `which cd` 查看这条命令的路径包在哪
--force 表示强制安装
--nodeps 表示当安装的rpm包依赖其他包时,忽略依赖进行安装
rpm的功能众多,总结出来大概常用的功能有3类:
- 查询、验证RPM软件包的相关信息
- 安装、升级、卸载RPM软件包
- 维护RPM数据库信息等综合管理操作
查询已安装的 RPM 软件信息
语法:rpm -q[子选项] [软件名]
选项:
-qa:显示当前系统中以RPM方式安装的所有软件列表
-qi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息
-ql:显示指定的软件包在当前系统中安装的所有目录、文件列表
-qf:查看当前指定的文件或目录是由哪个软件包所安装的
[root@localhost test]# rpm -qa |wc -l #统计当前系统安装的RPM软件个数
819
[root@localhost test]# rpm -q samba #查询某个软件是否安装
package samba is not installed
[root@localhost test]# rpm -qf `which cd` #查看cd命令是由哪个包安装的
bash-4.2.46-29.el7_4.x86_64
查询未安装的 RPM 软件包文件中信息
使用“-qp”选项时,必须以RPM软件包文件的路径作为参数(可以有多个),而不是软件包名称。
-qpi: 查看指定软件包的名称、版本、许可协议、用途描述等详细信息
-qpl: 显示指定的软件包准备要安装的所有目录、文件列表
[root@localhost ~]# rpm -qpi elasticsearch-6.0.0.rpm #查看软件包信息
warning: elasticsearch-6.0.0.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Name : elasticsearch
Epoch : 0
Version : 6.0.0
Release : 1
Architecture: noarch
Install Date: (not installed)
Group : Application/Internet
Size : 31180241
License : 2009
Signature : RSA/SHA512, Sat 11 Nov 2017 04:14:03 AM CST, Key ID d27d666cd88e42b4
Source RPM : elasticsearch-6.0.0-1-src.rpm
Build Date : Sat 11 Nov 2017 02:42:43 AM CST
Build Host : packer-virtualbox-iso-1509888528
Relocations : /usr
Packager : Elasticsearch
Vendor : Elasticsearch
URL : https://www.elastic.co/
Summary : Elasticsearch is a distributed RESTful search engine built for the cloud. Reference documentation can be found at https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html and the 'Elasticsearch: The Definitive Guide' book can be found at https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html
Description :
Elasticsearch subproject :distribution:rpm
[root@localhost ~]# rpm -qpl elasticsearch-6.0.0.rpm #查看该软件包含哪些文件
warning: elasticsearch-6.0.0.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
/etc/elasticsearch/elasticsearch.yml
/etc/elasticsearch/jvm.options
/etc/elasticsearch/log4j2.properties
/etc/init.d/elasticsearch
/etc/sysconfig/elasticsearch
......
八、YUM工具
yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum 语法
yum [options] [command] [package ...]
- options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
- command:要进行的操作。
- package操作的对象。
yum常用命令:
1.列出所有可更新的软件清单命令:yum check-update
2.更新所有软件命令:yum update
3.仅安装指定的软件命令:yum install <package_name>
4.仅更新指定的软件命令:yum update <package_name>
5.列出所有可安裝的软件清单命令:yum list
6.删除软件包命令:yum remove <package_name>
7.查找软件包 命令:yum search <keyword>
8.清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers
【第四课】Linux的基础命令使用的更多相关文章
- Linux常用基础命令整理:关机命令、查看目录下文件命令等
Linux常用基础命令整理:关机命令.查看目录下文件命令等 整理了一些Linux常用基础命令,欢迎指正. 首先记住四个热键,学会这四个键,收益一辈子. Tab按键---命令补齐功能Ctrl+c按键-- ...
- Linux常用基础命令(二)
Linux常用基础命令 一.-ls--列表显示目录内容 二.-alias--设置别名 三.-du--统计目录及文件空间占用情况 四.-mkdir--创建新目录 五.-touch--创建空文件 六.-l ...
- Linux系统基础命令
这是看itercast的学习笔记 Linux系统基础命令 日期时间 命令date用以查看.设置当前系统时间:格式化显示时间: +%Y--%m--%d 命令hwclock(clock)用以显示硬件时钟时 ...
- Linux(三)——Unix&Linux 的基础命令
Linux(三)--Unix&Linux 的基础命令 快捷键 Ctl-A 光标移动到行首 Ctl-C 终止命令 Ctl-D 注销登录 Ctl-E 光标移动到行尾 Ctl-U 删除光标到行首的所 ...
- Linux 的基础命令的操作
Linux 的基础命令的操作 显示日期和时间:date 显示日历:cal 简单好用的计算机:bc 1.显示日期: date +%Y/%m/%d 2018/09/01 date +%H:%M 14:26 ...
- Linux的基础命令大全
linux的基础命令大全 1.shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器) ls -al /bin/sh ls -al /bin/bash 查看这些shell的 ...
- linux 02 基础命令
linux 02 基础命令 1.alias 别名 pyvip@Vip:~/demo$ alias lh="ls -lh" #将ls -lh的功能赋给lh(lh原来并没有意义)这个赋 ...
- linux 01 基础命令
linux 01 基础命令 对于Linux要记住一个概念,一切皆文件,哪怕是目录,也是一个文件 1.修改用户密码 sudo passwd pyvip@Vip:~$ #pyvip表示用户名, Vip表示 ...
- Linux的基础命令, django的安装与使用
一. Linux一些基础指令 cat命令, 用于查看纯文本文件(常用于内容较少的) cat 校花的故事.txt # 查看文件 cat -n 校花的故事.txt # 查看文件并显示行号 -n 显示行号 ...
随机推荐
- CSS3 中的 box-sizing属性
语法: box-sizing: content-text | border-box | inherit; content-box(默认): 宽度和高度分别应用元素的内容框:在宽度和高度之外绘制元素的内 ...
- maven+spring+junit测试要注意的事情
使用maven方式创建webapp工程的资料网上一大堆,在这里也不详细说了.在创建完成之后,里面说到要转动态web工程时要切换为3.0版本,但是我本地切换不了,网上的方法好像也没用,暂时也没用到这块. ...
- MySQL数据行溢出的深入理解
一.从常见的报错说起 故事的开头我们先来看一个常见的sql报错信息: 相信对于这类报错大家一定遇到过很多次了,特别对于OMG这种已内容生产为主要工作核心的BG,在内容线的存储中,数据大一定是个绕不开的 ...
- 转:queue
数据结构C#版笔记--队列(Quene) 队列(Quene)的特征就是“先进先出”,队列把所有操作限制在"只能在线性结构的两端"进行,更具体一点:添加元素必须在线性表尾部进行, ...
- centos7 安装ldap
ldap首先我们要知道这个ldap的概念, LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写 目录是一个为查询.浏览和搜索而优化的专业分布 ...
- Web Services 根据wsdl生成代理类
生成代理类步骤: 一:找到Visual Studio 的工具文件夹 二:用管理员方式打开本机工具命令提示 三:输入要执行的脚本 wsdl /language:C# /n:xxxx.HermesMobi ...
- 将sqllite3数据库迁移到mysql
一.安装python mysql module (OneDrive): 1.运行python D:\OneDrive\Work\django\mysqlregistry.py2.http://www. ...
- Tmux 使用教程 on Fedora 28
Tmux 和 gun/screen 都是优秀的终端复用软件,它的关键的好处就是,保持ssh 登录连接session不中断,并且能支持分屏操作,具备丰富的命令行参数,可以进行动态布局和操作.可以看作为s ...
- django中url 和 path 的区别
django中 url 和 path 都是配置路径,有什么不同? django.urls path django.conf.urls url path 与 url 是两个不同的模块,效果都是响应返回 ...
- Python接口自动化--requests 2
# _*_ encoding:utf-8 _*_ import json import requests #post请求 payload = {"cindy":"hell ...