liunx基础知识篇 偏指令

计算机由哪些硬件组成:
输入设备:键盘,鼠标,触摸屏,扫描仪,麦克风
输出设备:显示屏,打印机,音响
存储器:内存
运算器
控制器
计算机的种类:pc,手机

机器语言
了解硬件的相关功能函数
程序不具有可移植性
程序具有专一性

编译器:c语言,c++,c#夏普,java

操作系统:管理计算机硬件的一组程序叫做操作系统内核,系统调用接口

操作系统内核功能:
系统调用接口
程序管理
内存管理,虚拟内存—内存交换
文件系统管理
设备驱动

常见的操作系统:Android,linux,ios,windows,unix,wp

终端:也称为终端设备,是计算机 络中处于 络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。
虚拟终端
同一台终端(物理设备)上虚拟出多个终端,它们之间互相不影响,这些终端就是虚拟终端
默认有6个
ctrl + alt +f1/2/3/4/5/6

[root@localhost ~]#
用户名 本地主机 家目录 #超级用户的命令提示符,$普通用户的命令提示符

dhclient 使用dhcp获取ip地址。Dynamic Host Configuration Protocol动态主机配置协议
ip a 查看ip地址
强制终止进程:kill -9 进程

ssh ip地址
ssh 用户名@ip地址

pwd打印当前工作目录
root用户的家目录:/root
普通用户的家目录:/home/xxx

passwd 修改密码
-d删除密码
root用户:不需要输入原密码,可以不符合密码复杂性规则,可以给任何人修改密码
普通用户:需要输入原密码,必须符合密码复杂性规则,passwd修改密码无法跟参数

修改主机名:
hostnamectl set-hostname 主机名

切换用户:su – 用户名
exit

切换目录:cd
绝对路径:以/开头的路径叫做绝对路径
[root@localhost ~]#cd /home/student
[root@localhost student]#
相对路径:不是以/开头的路径叫做相对路径
[root@localhost home]# cd student
[root@localhost student]#
.当前目录
…上一级目录
-当前目录和上一级目录之间来回切换

描述一破解root密码:
1、重启虚拟机
2、在linux16末尾加上 rd.break,ctrl+x执行
3、mount -o remount,rw /sysroot
4、chroot /sysroot
5、passwd root
6、输入新密码:
7、确认密码
8、touch /.autorelabel
9、exit
10、exit

描述二https://jingyan.baidu.com/article/e75aca85799862142edac6a5.html
第1步:开机后在内核上敲击“e”。
第2步:在linux16这行的后面输入“rd.break”并敲击“ctrl+x“
第3步:进入到了系统的紧急求援模式。
第4步:依次输入以下命令:

mount -o remount,rw /sysroot

chroot /sysroot

echo “linuxprobe” | passwd –stdin root

touch /.autorelabelexitreboot
第5步:重启时会很慢,耐心等待即可。

描述三root密码破解:

1.Reboot the system.
2.Interrupt the boot loader count down by pressing anykey.
3.Move the cursor to the entry that needs to be booted.
4.Press “e” to edit the select edentry.
5.Move the cursor to the kernel command line(the line that start swith linux16.
6.Append rd.break.
7.Press Ctrl+x to start.
8.Remount /sysroot as read-write.
switch_root:/# mount -o remount,rw /sysroot

9.Switch into a chroot jail, where /sysroot is treated as the root of the filesystem tree
switch_root:/# chroot /sysroot
10.Set a new root password:
sh-4.2# passwd [root] (change the root password)
or
sh-4.2# passwd -d root (delete the root password)
11.Make sure that all unlabeled files (including/etc/shadow at this point)get relabeled during boot.
sh-4.2# touch /.autorelabel
12. sh-4.2# exit
13. switch_root:/# exit

命令格式:命令 选项 参数
列出当前目录下的内容:ls
-l 长列表列出目录下的内容=ll
ls -l /home 长列表列出/home的内容
-a 列出所有文件,包括.和…
-A 列出所有文件,不包括.和…
-ld 长列表列出当前目录的详细信息
-i 显示文件索引节点 (inode)。一个索引节点代表一个文件,在linux中保存在磁盘分区中的文件都给它分配一个编 ,称为索引节点 inode。
-lh 进行单位转换
-r 逆序列出当前目录下的内容

man ls

-rw——-. 1 root root 1792 Aug 21 20:57 anaconda-ks.cfg
文件类型 所属用户的权限 所属组的权限 其他用户的权限 acl 硬链接次数 所属者 所属组 文件大小 文件的最后一次修改时间 文件名

文件类型:

  • 普通文件
    d 目录文件
    c 字符设备文件
    b 块设备文件
    l 链接文件
    硬链接
    ln 原文件 新文件
    软链接
    ln -s 原文件 链接文件
    p 管道文件,进程间的通信
    s 套接字文件,用于 络上的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行数据通信

命令别名
临时生效的命令别名:alias

快捷键
ctrl+d输入已结束。在shell下相当于exit
ctrl+c键盘中断请求,终止当前的命令
ctrl+s ctrl+q暂停/恢复屏幕输出
ctrl+l清屏,相当于clear
Tab自动补完命令与文件名
Tab双击:可以列出所有可能匹配的选择
ctrl+u删除当前光标前的所有字符
ctrl+k删除当前光标后的所有字符

时间命令:
date 查看系统时间
date 月日时分年.秒
date -s “” ‘’
clock 查看硬件时间
hwclock -w 从系统时间同步到硬件时间
hwclock -s 从硬件时间同步到系统时间
cal 查看日历
Options:
-1, –one show only current month (default)
显示当前月的日历
-3, –three show previous, current and next month
显示上一个月,当前月,下一个月的日历
-s, –sunday Sunday as first day of week
将星期天作为一个周的第一天显示
-m, –monday Monday as first day of week
将星期一作为一个周的第一天显示
-j, –julian output Julian dates
显示当前是一年中的第几天
-y, –year show whole current year
显示出当前年份的日历
-h, –help display this help text and exit
显示出帮助信息

FHS:filesystem hierarchy standard文件系统层级标准,定义了在类Unix系统中的目录结构和目录内容,即让用户了解到已安装软件通常放置于哪个目录下。
可执行文件:指的是可以由操作系统进行加载执行的文件
FHS采用树形结构组织文件。FHS文件系统层级图

linux里面有哪些目录:
/ 根目录,通常不在这里存储文件
/bin 可执行文件,ls,cd
/sbin 可执行文件
/boot 开机启动的文件,包括linux内核以及开机菜单与开机所需配置文件等
/dev 设备文件,任何设备与接口设备都是以文件形式存在与这个目录的
/root root用户的主目录
/home 普通用户的主目录
/mnt 挂载点目录
光盘必须和/下的某个目录节点建立联系才能使用。
把光盘和指定的挂载点目录建立联系的过程叫做挂载。
mount /dev/sr0 /mnt
/media 媒体目录,也是挂载点目录
/opt 可选目录。存放第三方软件包和数据文件
/var 可变目录,用以存放经常变化的文件,如日志文件
/etc 配置文件
/lib 系统的函数库
/proc 该目录是一个虚拟文件系统,它放置的数据都在内存当中
/run 系统运行时所需文件
/usr 放置的数据为可分享的与不可变动的,unix操作系统软件资源所放置的目录,而不是用户数据
/srv service的缩写,是一些 络服务启动之后,这些服务所需要取用的数据目录
/tmp 让一般用户或者是正在执行的程序暂时放置文件的地方
/sys 这个目录其实跟/proc非常类似,也是一个虚拟的文件系统,主要是记录与内核相关的信息

将输入接到标准输出(从键盘输入,从显示器输出):echo
创建文件:
文件命名规则:
(1)不能使用/来当文件名,/是用来做根的,也是用来做路径分隔符
(2)文件名不能超过255个字符
(3)区分大小写

创建普通文件:touch
touch {文件1,文件2,文件3} 创建多个文件
删除普通文件:rm
-f 强制删除
创建目录:mkdir
mkdir -p 目录1/目录2/目录3 递归创建多个目录
-v 显示创建目录的详细信息
删除目录:rm -r
-f 强制删除

复制文件:cp
复制普通文件:
cp 文件1 目录1 将文件1复制到目录1
cp 文件1 目录1/文件2 将文件1复制到目录1并重命名
复制目录文件:cp -r
移动文件:mv
mv 文件1 文件2 将文件1重命名为文件2
mv 文件1 目录1 将文件1移动到目录1下
mv 文件1 目录1/文件2 将文件1移动到目录1并重命名

练习题:
1.在根下的usr下的games下创建两个目录分别为lianliankan和lol,在lianliankan目录下创建两个普通文件,这两个文件名分别为xiaoxiaole,xiaoxiaoxiao。
2.在xiaoxiaole里面写入内容“kaixin xiaoxiaole”,在xiaoxiaoxiao里面写入内容”nishi chaoxide“,将xiaoxiaoxiao的内容追加到xiaoxiaole里面。
3.在/下创建一个普通文件叫waigua,在此文件里面写入内容”haha,woshi henlihaide“,将waigua文件移动到lianliankan目录下。
4.将waigua文件复制到lol目录中。
5.在/下的usr下创建一个目录名叫wangyou,移动该目录到games下面,将lol目录复制到wangyou目录下。

shell:壳,命令解释器
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
linux:/bin/bash

type查看命令是file、alias还是builtin
-t 仅列出命令执行时的依据
-a 列出当前命令可以如何执行

shell的变量功能:
变量简单说就是让某一个特定字符串代表不固定的内容。
设置变量(变量名的规则:用“=”连接;等 两边不能有空格符;只能使用数字和字母,且不能用数字开头;):
myname=redhat

取消变量:unset 变量名称

优点:
命令与文件补全功能
命令别名设置功能
命令记忆功能
通配符等等

history 命令历史
n 列出目前最近的n条信息
-c 清除命令历史
!!执行上一个命令
!number 执行命令历史中第几条命令

shell中的通配符:bash中常用的通配符有”*“,””[]“
*表示匹配任意一个或多个字符
匹配任意单一字符
[]匹配任何包含在方括 内的单字符

shell中的引用:在bash中有很多特殊字符,这些特殊字符就具有特殊含义。引用就是通知shell将这些特殊字符当作普通字符来处理。
转义字符“”:如果将放到特殊字符前面,shell就忽略这些特殊字符的原有含义,把它们当作普通字符对待。
单引 :如果将字符串放到一对单引 之间,那么字符串中所有字符的特殊含义被忽略。
ll -d 1’*’
双引 :双引 的引用与单引 基本相同,包含在双引 内的大部分特殊字符可以当作普通字符处理,但是仍然有一些特殊字符保留自己的特殊含义,比如”$“和“”以及“ ` ”

练习题:
关闭DNS解析:
vim /etc/ssh/sshd_config
UseDNS no
systemctl restart sshd

文本查看命令:
cat连接并显示文件内容到标准输出
cat -n 显示文件内容并显示行

文本切割显示:
cut -d 指定分隔符 -f 指定第几列(被切割文件
指定分隔符的时候空格需要用引 ‘’引起来)

文本排序显示:
排序显示(默认根据字符在ASCII码中的升序排序):sort 文件名
按照数字大小排序:sort -n 文件名
排序并去掉重复的:sort -u 文件名
逆序排序:sort -r 文件名
按照用户uid数字大小排序显示:
sort -t 指定分隔符 -k 指定第几列 -n /etc/passwd
-f 排序时忽略字符大小写
去掉重复的行,重复的行必须相邻:uniq 文件名
-d 只显示重复的行
-D 显示所有重复的行
-c 显示重复行重复的次数

文本统计:wc——word count
显示文件行数、单词数、字节数和文件名:wc 文件名
###在UTF-8编码格式里面,显示时一个字符占一个字节,一个中文字占用3个字节
只显示单词数:wc -w 文件名
只显示字节数:wc -c 文件名
只显示行数:wc -l 文件名
只显示字符数:wc -m 文件名
显示最长的一行的字符数:wc -L 文件名

管道符:管道符左边命令的输出作为管道符右边命令的输入。
tee命令:在输出到文件的同时输出到屏幕,既想把输出保存到文件中,又想在屏幕上看到输出内容。

文本过滤:grep可以根据指定的字符串,对文件的每一行进行搜索,如果找到了这个字符串,就输出该行的内容

匹配以q或者f开头的行:grep 1 文件名

文件搜索:
查找文件路径:
find 路径 -name 文件名:find / -name passwd

练习题:
1.将命令历史写入到root用户家目录的普通文件exercise中
2.有一个文件叫lianxi.txt,文件内容为排序过的passwd内容的第三列和第三列的行数

-rw-r–r–. 1 root root 2416 Aug 25 10:11 /etc/passwd
用户名:密码(x):uid:gid:用户描述信息:家目录:shell
———-. 1 root root 1434 Aug 25 10:10 /etc/shadow
用户名:加密过的密码:最后一次修改时间的天数:密码的最短修改天数:密码的有效期限:密码过期警告时间:密码失效时间:账 过期精确时间:保留字段
root:0
系统用户:199-999,/sbin/nologin,不允许登录系统
添加系统用户,不创建主目录和邮箱:useradd -r 用户名

普通用户:1000-60000,默认/bin/bash

useradd=adduser
-c 添加描述信息
-d 指定用户家目录
-s指定用户的shell
-u 指定用户的uid
-g 指定用户的gid
-G给用户添加附加组

userdel 删除用户,不删除家目录和邮箱
userdel -r 删除用户
id 查看用户的uid和gid

usermod 修改用户的信息
-c 改变用户的全名或者说描述名称
-d 改变用户的家目录
-e 设置用户密码的过期时间
-g 改变用户的gid
-G 将用户添加入一个新组
-s 改变用户的默认shell
-l 改变用户的登录用名
-u 改变用户的uid
-L 锁住密码,使账 不能用
-U 为用户密码解锁

修改用户密码:
echo 1234 | passwd –stdin 用户名

-rw-r–r–. 1 root root 998 Aug 25 10:30 /etc/group
组名:组密码:组id:用户列表

———-. 1 root root 807 Aug 25 10:30 /etc/gshadow
组名:组密码(!!表示锁定状态):组管理员:用户列表

groupadd 添加组
-g 指定gid
gpasswd 修改组密码
为一个组更改名字:groupmod -n 新组名 原组名
将用户移除组:gpasswd -d 用户名 组名

练习题:
1、创建一个用户xiaoming,其ID 为2002,基本组为one(组ID为3003),附加组为linux。
2、创建一个用户fedora,其全名为Fedora Community,默认shell为tcsh。
3、修改xiaoming的ID 为4004,基本组为linux,附加组为one和fedora。
4、将mandriva的默认shell改为/bin/bash。
5、添加系统用户hbase,且不允许其登陆系统。

文件的压缩和解压:
gzip 文件 压缩文件
gzip -c 原文件 > 原文件.gz 保留原文件并压缩
gzip -d 文件.gz 解压文件
gzip -cd 文件.gz > 文件 保留原文件并解压
gunzip 文件.gz 解压文件
zcat 文件.gz 查看压缩文件内容

tar:打包即归档文件,[主选项+辅选项]
主选项:
c create,创建一个归档文件
x 从归档文件中提取文件出来
t 列出归档文件中的文件
辅选项:
z,以gzip的格式压缩或解压
j,以bzip2的格式压缩或解压
v,显示打包过程的信息
C,将文件解压到指定目录

练习题:
1.将/etc/passwd文件中ntp用户的信息写入root用户家目录下的file1文件中,将sshd用户的信息写入root用户家目录下的file2文件中。
2.将file1和file2文件打包并以bzip2的方式压缩为ff.tar.bz2。
3.保留ff.tar.bz2文件并将其解压到root用户的家目录下。

dr-xr-x—. 16 root root 4096 Aug 26 09:47 root
文件类型 r-x 所有者的权限 r-x所属组的权限 —其他人的权限 .acl
硬链接次数 所属者 所属组 文件大小 文件的最后一次修改时间 文件名
r:读
w:写
x:可执行
000 0 —
001 1 –x
010 2 -w-
011 3 -wx
100 4 r–
101 5 r-x
110 6 rw-
111 7 rwx
u 所属者
g 所属组
o其他人

chmod u/g/o =/+/- 修改文件的权限所属者,所属组和其他人的权限
chmod 000/777/755/644…
修改文件的权限所属者,所属组和其他人的权限

chown 所属者:所属组 修改文件的所属用户和所属组
chown 所属者.所属组 修改文件的所属用户和所属组
chgrp 所属组 修改文件的所属组

对于普通文件:
r:cat,对于普通用户来说,可以强制修改文件内容,修改之后所属者和所属组会发生改变
w:可以强制修改文件内容,修改之后所属者和所属组会发生改变
x:可执行

对于目录文件:
r:ls,ll
w:
x:cd
which 命令 查看命令的位置
which cat /usr/bin/cat
特殊权限:
强制位suid,set UID,使进程的属主属于程序文件本身u+s
强制位sgid,set gid,使进程的属组为程序文件本身;在目录下创建的文件的属组为该目录的属组g+s
冒险位:只有该用户可以删除自己在该目录下创建的文件,其他人无法删除(root除外)o+t

umask查看权限掩码:0022
4,suid;2,sgid;1,冒险位
普通文件本身的权限:666 rw-rw-rw-
目录文件本身的权限:777 rwxrwxrwx

acl 访问控制列表
setfacl -m u/g:用户名/组名:rwx 文件名
getfacl 文件名
setfacl -b 文件名

磁盘的管理:
分区:主分区p或者扩展分区e
fdisk /dev/sda
n—p,e,l—-起始扇区—结束扇区(+1G)—w
partprobe

作业题:
1.添加一块10G大小的磁盘,将该磁盘分为两个主分区,大小为1G、2G。将剩余的空间全部划分为扩展分区。划分一个逻辑分区,大小为3G。
2.将三个分区分别挂载到/guazai/donggua、xigua、nangua。
3.在第一个主分区中创建一个文件为file1,内容为this is partition1。在第二个分区中创建一个文件为file2,内容为this is partition2。在第三个分区中创建一个文件为file3,内容为this is partition3。
4.实现一个功能,当使用任何用户创建目录的时候,它的所属者为root。
5.创建一个目录为/exercise,在该目录下创建一个目录为red,实现一个功能:任何用户在red目录下创建文件的时候的所属组为redhat。
6.在exercise目录下创建一个目录为nochange,任何普通用户都只能删除自己在该目录下创建的文件,无法删除其他用户创建的文件。

永久挂载:
blkid查看uuid
vim /etc/fstab
uuid 挂载点 文件系统类型 defaults 0 0
软件的安装:
rpm:redhat package manager
1.mount /dev/sr0 /mnt
cd /mnt/Packages
rpm -ivh 安装软件
rpm -evh 删除软件
rpm -ql 查看软件包释放的文件位置
rpm -qf 查看某个文件是哪个软件包释放的
rpm -qa | grep tree查询安装软件的包

练习题:安装一个http服务。

综合实验:
搭建论坛:
yum install httpd -y
mv Discuz_X2.5_ /var/www/html
cd /var/www/html
unzip Discuz_X2.5_
systemctl stop firewalld
setenforce 0
systemctl enable httpd
systemctl start httpd
systemctl restart httpd
yum install mariadb mariadb-server -y
###cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
systemctl restart mariadb
systemctl enable mariadb
初始化数据库
mysql_secure_installation
yum install php-* libjpeg* -y
systemctl restart mariadb
systemctl restart httpd
mysql -uroot -p
密码:
show databases;
create database luntan;
show databases;
quit


  1. qf ??

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月15日
下一篇 2020年1月15日

相关推荐