简称OS,是管理和控制计算机硬件与软件资源的计算机程序,是配置在计算机上的第一层软件。
为管理硬件资源和为应用程序提供良好环境使其就有更好的兼容性
1、程序调用接口
2、程序管理
3、内存管理,虚拟存储
4、文件系统管理
5、设备驱动
linux命令大全
重启:reboot,shutdown -r now
关机:shutdown -h now,poweroff
查看当前linux发行版本信息:
/etc/redhat-release
查看内核版本信息:
/proc/version
uname -a
查看linux系统的时间
date
更改日期的格式 月日时分年.秒 ntp 时间同步
查看硬件时间
clock
hwclock
-r 查看时间
-w 将系统时间同步到硬件时间
-s 将硬件时间同步到系统时间
查看日历
cal
-1 显示一个月的日历
-3 显示系统前,目前,后一个月的日历
-s 显示星期天为一个星期的第一天,默认
-m 显示星期一为一个星期的第一天
-j 显示当前年份中的第几天
-y 显示当前年份的日历
1752年9月少了11天,新历法与老历法的替换
查看当前工作目录
pwd
-L 打印 $PWD 变量的值,如果它包含了当前的工作目录
-P 打印当前的物理路径,不带有任何的符号链接
查看历史命令
history
/.bash_history 保存历史命令,正常退出,exit,默认保存1000条
-c 删除所有的历史命令
-d 删除指定
-w 将缓冲区的命令历史保存到命令历史文件
!n 执行命令历史中的第n条命令
!! 执行上一条命令
!-n 执行命令历史中导数第n个命令
!KEY 执行最近一次以指定KEY开头的命令
!$ 执行上一个命令中最后一个参数
ESC +. 同上,多次按可以切换
ALT+.
查看文件内容
cat
cat -n 文件名 显示文件内容并显示行号
查看文件的详细信息
stat 文件名
Access:访问时间,查看该文件内容
Modify:修改时间
Change:原数据变换
创建文件
touch 文件名
-a 只改变access时间
-m 只改变mogify时间
-t 指定时间
mtime: modify time 内容被改变
ctime: change time 元数据被改变
atime: access time 看了一下内容
创建目录
mkdir 文件名
-p 如果需要的话创建父目录
-v 显示创建目录的详细过程
删除文件及目录
rm
rm [-f] 文件名 # 删除普通文件
rm -r [-f] 目录文件名 # 删除目录文件
-i 在删除时提示信息
\rm 不带提示
-f 忽略提示信息
-r 删除目录
echo
-n 不要追加换行
-e 启用下列反斜杠转义的解释
-E 显式地抑制对于反斜杠转义的解释
重定向:>
追加重定向:>>
读取标准输入的数据,并将其内容输出到文件的同时输出到屏幕
tee 文件
-a, 内容追加到给定的文件而非覆盖
-i, 忽略中断信号
-p 对写入非管道的行为排查错误
切换目录
cd
相对路径,绝对路径
- 上一次执行目录,在上一个目录和当前目录来回切换
. 当前目录
.. 上一级目录
~ 家目录
切换用户
su - 用户名
修改密码
passwd
-n 指定密码的最短使用期限
-x 指定密码的最长使用期限
-w 设置密码过期警告时间
-l 锁定用户账号密码
-u 解锁用户账号
-d 删除用户密码,在redhat中,空密码用户禁止登陆
echo 密码 | passwd --stdin 用户名
删除密码
passwd -d 用户名
root用户改密码不需要输入原密码,普通用户需要,
root用户密码设置不限制,普通用户不可以设置太简单的密码
root可以修改普通用户的密码
查看指定目录下的文件
ls(list)
-l 以长列表方式列出 =ll
-r 逆序列出
-d 显示目录本身属性
-ld 长列表列出当前目录的详细信息
-lh 显示目录或文件大小
-a 列出隐藏文件,包括.和..
-A 列出隐藏文件,不包括.和..
-i 显示文件索引节点号(inode)
文本统计
wc 在UTF-8编码格式里面,显示时一个字符占一个字节,一个中文字占用3个字节
wc -w 文件名 只显示单词数
wc -c 文件名 只显示字节数
wc -l 文件名 只显示行数
wc -m 文件名 只显示字符数
wc -L 文件名 显示最长的一行的字符数(不包括断行符)
从头开始逐行查看
more
-d 显示帮助而非响铃
-f 计算逻辑行数,而非屏幕行数
-l 屏蔽换页(form feed)后的暂停
-c 不滚动,显示文本并清理行末
-p 不滚动,清除屏幕并显示文本
-s 将多行空行压缩为一行
-u 屏蔽下划线
-<数字> 每屏的行数
+<数字> 从指定行开始显示文件
+/<字符串> 从匹配搜索字符串的位置开始显示文件
前后查看文件内容
less
默认查看文件前10行
head
默认查看后10行
tail
文本切割显示
cut -d -f 被切割文件
-d 指定分隔符
-f 指定第几列
文本排序显示
sort 文件名
-n 按照数值大小排序
-u 排序并去掉重复的
-r 逆序排序
-t 指定分隔符
-k 指定第几列
-f 排序时忽略字符大小写
显示时去掉重复的行,重复的行必须相邻
uniq 文件名
-d 只显示重复的行
-D 显示所有重复的行
-c 显示重复行重复的次数
文本过滤显示
grep
grep h 文件名 查找文件里有字符h的字符串
grep -w 单词 文件名 匹配整个单词
grep ^[q] 文件名 匹配以q开始的行
grep q$ 文件名 匹配以q结束的行
grep ^[0-9] 文件名 匹配以数字开头的行
grep ^[qf] 文件名 匹配以q或者f开头的行
grep ^[^qf] 文件名 不匹配以q或者f开头的行
grep [^gf]oo 文件名 匹配oo前面不是f或者g的字符串
grep ^# 匹配以#号开头的行
grep ^$ 过滤空白行
grep -r h ./* 如果要明确搜索子目录
grep -d skip h ./* 忽略子目录
-l 查询多文件时只输出包含匹配字符的文件名
-i 搜索时忽略大小写
-v 搜索时显示没有匹配到的行
grep -A 2 搜索时显示匹配到的那一行以及下2行
grep -B 2 搜索时显示匹配到的那一行以及上2行
grep -C 2 搜索时显示匹配到的那一行以及上下2行
复制文件
cp
-r 复制目录
-p 复制的时候保留文件原有的属性,时间戳等信息
-a 归档复制,常用于备份
移动文件
mv
-i 提示
-f 强制覆盖
-t 先写目标,后写源
查看文件类型
file
acsii
查看命令类型
type 命令
查看命令的路径
which 命令
命令hash
-p 手工添加一个hash表项
-d 删除指定命令的hash表项
-r 清空所有的hash表项
-t 查看指定命令的哈希表
查看命令的别名
alias
-p 以可重用的格式打印所有的已定义的别名
~/.bashrc 存放别名的文件
解除别名
unalias
-a 删除所有的别名定义
查看进程信息:
ps -ef
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
内置命令(builtin):由shell程序自带的命令
外部命令 :有独立的可执行程序文件,文件名即命令名
- 普通文件,类似于Windows的记事本
d 目录文件,类似于文件夹
c 字符设备文件,串行端口设备,顺序读写,键盘
b 块设备文件,可供存储的接口设备,随机读写,硬盘
p 管道文件,用于进程间的通信
s 套接字文件,通常用于网络上的通信。可以启动一个程序来监听客户端的要求,客户端可以通过套接字来进行数据通信
l link,链接文件
链接文件
1、软链接:又名符号链接,和原文件不是一个文件,有自己的node,是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径。
创建链接文件:ln -s 原文件 链接文件
2、硬链接:引用同一文件系统中的文件,引用的是文件在文件系统中的物理索引,当移动或者删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接记录的是目标的inode。
创建硬链接: ln 原文件 新文件
文件命名规则
1、不能超过255个字符
2、严格区分大小写
3、不能以“/”开头
bash 用户接口
shell是离用户最近的程序,是计算机和用交互的程序
广义的shell包含两类:
GUI Gnome,KDE,Xfce
CLI sh,csh,ksh,bash,tcsh,zsh
shell有子shell,对于父shell来说,子shell只是一个程序
特性:
1、命令行编辑:
Ctrl+a 跳到命令行行首
Ctrl+e 跳导行尾
Ctrl+d 向后删除
Ctrl+u 删除光标至行首的内容
Ctrl+k 删除光标至行尾的内容
Ctrl+左右箭头 在模拟终端中支持按单词跳转
Ctrl+l 清屏,相当于clear
Ctrl+c 取消执行当前命令
*.gz gzip程序压缩的文件
*.bz2 bzip2程序压缩的文件
*.tar tar程序打包的数据,并没有经过压缩
*.tar.gz tar程序打包的文件,其中经过gzip的压缩
*.tar.bz2 tar程序打包的文件,其中经过bzip2的压缩
gzip 文件名(原文件不存在)
gzip -c 文件名1 >文件名1.gz (保留原文件)
-c 表示将压缩过程中产生的数据输出到屏幕上
bzip2(用法同gzip):bzip2 文件名
bzip2 -c 文件名1 >文件名1.bz2(保留原文件)
gzip -d 文件名.gz(不保留)
gunzip 文件名.gz
gzip -cd 文件名2.gz >文件名2(保留原文件)
bzip2 -d 文件名.bz2(不保留原文件)
bunzip2 文件名.bz2
bzip2 -cd 文件名2.bz2 > 文件名2(保留原文件)
zcat 文件名.gz
bzcat 文件名.bz2