va.severus 2019.3.10
Linux入门
CentOS7.4
-
root用户
管理员或者用户的定义与id号相关,0为管理员,非0为用户。 -
cmd格式 :命令 + 选项 + 参数
id -u
;查看当前用户id号
id -u xxx
;查看其他用户id号
tty
;虚拟终端,我登录的终端
whoami
; 当前我是谁
who am i
;我是谁,我登陆的终端,我登录的时间
date
;查看时间
date 月日小时分钟年.秒
; 更改时间
who
;显示谁登录,登陆终端,登录时间
w
;可以查谁在执行什么命令,占用cpu,终端,时间
echo ${SHELL}
;查看当前使用版本
cat /etc/shells
;列出当前系统所有shell
hostname
; 显示完整主机名
echo $PS1
;查看前缀定义格式
PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
PS1="\[\e[1;32m\][\[\e[0m\]\t \[\e[1;33m\]\u\[\e[36m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"
-
\e 控制符
\033\u 当前用户
\h 主机名简称
\H 主机名
\w 当前工作目录
\W 当前工作目录基名
\t 24小时时间格式
\T 12小时时间格式
! 命令历史数
# 开机后命令历史数 -
执行后但是只存在于内存中,需要写入文件内
nano /etc/profile.d/xxx.sh
打开后粘贴,然后保存退出即可 -
命令优先级:
别名(alias) -> 内部命令 -> 外部命令 -> PATH(一个变量)
type cmd
;可以判断cmd来源
hash
;可以列出来曾经执行命令的列表
alias va=
id -u;定义别名
alias
;列出所有别名
unalias va
删除别名 *须写入文件,别名存放于 .bashrc中,写入文件中不会立即生效
. .bashrc
; 即可生效
date
;显示操作系统(OS)时间
clock
;显示主板/硬件时间
clock -s
;以主板/硬件时钟为准,校正系统(OS)时间
clock -w
;以系统(OS)时间为准,矫正主板/硬件时间
cal
;查看日历
cal -y
;查看整年日历
half
或poweroff
;关机
shutdown -r
;重启(reboot)
shutdown -h +5
;5分钟后关机
shutdown -c
;取消关机
shutdown now
;立即关机
runlevel
;查看工作模式
init 3
(字符界面)
init 5
(图形界面)
init 0
(关机)
init 6
(重启)
screen -S name
;共享桌面
screen -ls
;查看
screen -x name
;加入
screen
;创建新会话,进行进程
screen -ls
;查看
screen -r
;恢复
Ctrl+a,d ;切换
- 双引号:只能识别出变量不能识别cmd
单引号:无论是cmd还是字符串统统视为字符串
反向单引号:cmd和变量统统可以识别
反向单引号=$()
touch /data/
date +%F.log
可以创建文件名为 2019-03-06.log 的文件
echo {a..z}
可列出a-z
文件管理
/etc ;存放配置文件
/dev ;存放设备信息
/proc ;存放内存中的信息,通过观察proc可以看到系统中的一些信息
cat /proc/cpuinfo
查看cpu信息及状态
cat /proc/partitions
查看分区
/sys ;存放硬件信息
lsblk
查看硬盘情况
pwd
显示所在目录
pwd -P
显示真实路径(针对软链接,快捷方式)
- cd 改变所在目录
cd /etc/
cd -
回到上一级目录
-
绝对路径和相对路径:
绝对路径:把完整目录路径写全,由根写起
相对路径:以当前目录为参考,相对于当前目录 -
dirname 目录名
dirname /etc/sysconfig/network
=/etc/sysconfig
basename 基名basename /etc/sysconfig/network
=network -
ls 列出当前所在目录的文件列表
ls -a /目录
列出所有文件包括隐藏文件(. 开头的文件)
ls -R /目录
目录递归,逐个打开所有目录
ls -l
列出文件自身属性
ls -d
列出文件夹本身而不是其内容
ls -1
竖列显示
ls -t
按照时间顺序排序(最后一次修改时间)
ls --time=atime
按照读(读取)时间排序屏蔽读时间可以提升系统性能
ls -X
按照文件后缀排序
ls -U
按照目录存放顺序排序
l.
(ls -d .*) 只看当前目录隐藏文件
ls -d /目录/.*
查看该目录下的隐藏文件
-
" * " 匹配文件名中任意字符
.sh( .sh 后缀为隐藏文件) 表示以sh为后缀的任意文件,是任意长度 -
" ? " 单一的一个字符
?.sh 只能列出以单个字符为名的文件 -
" ~ " 当前用户家目录
-
~va 回到va的家目录
-
" ~+ " 当前工作目录
-
" ~- " 前一个工作目录
touch f{1..10}.txt
创建10个文件
ls f[135].txt
显示f1 f3 f5这三个文件
ls f[1-5].txt
显示1到5这5个文件
ls f[^135}.txt
排除 1 3 5这三个文件
文件通配符
- [:wpper:] 任意大写字母A-Z
[:lower:] 任意小写字母a-z
uname -r
查询系统版本号
cat /etc/os-release
比较通用的查系统详细信息cmd
cat /proc/meminfo
查看内存大小
free
查看内存大小
lscpu
查看cpu
lsblk
查看硬盘大小
-
内部命令用
help
外部命令用man
--help
查命令内部还是外部用type
whatis cmd
可以查看这个命令是做什么的,在哪个章节
mandb
可以手工生成whatis数据库
date +%F -d "2 day"
显示两天后日期
date +"%F %T"
显示时间和日期 -
touch /data/
date +%F -d “-1 day”.log
创建以昨天为日期的文件
whereis cmd
可以查看外部命令的man文档
一切配置皆存在于文本文件中
man 章节 cmd
查询指定章节
cat /etc/issue
预登录消息
man k KEYWORD
列出关键字所有页面
- /usr/share/doc 说明书路径
history
用来查看曾经执行过的命令
- 存放于内存中,但是退出时会存放于家目录的隐藏文件中(.bash_history)
history -c
只清除内存中历史
HISTTIMEFORMAT= "%F %T "
历史中添加详细时间
HISTCONTROL=ignorespace
忽略以空格开头的命令
HISTCONTROL=ignoreboth
忽略重复及空格开头命令
- 存放在 /etc/profile 或 ~/.bash_profile
bash快捷键
Ctrl + l 清屏,相当于clear命令
Ctrl + o 执行当前命令,并重新显示本命令
Ctrl +s 组织屏幕输出,锁定
Ctrl + q 允许屏幕输出
Ctrl + c 终止命令
Ctrl + z 挂起命令
Ctrl + a 光标移到命令行首,相当于Home
Ctrl + e 光标移到命令行尾,相当于End
Ctrl + f 光标向右移动一个字符
Ctrl + b 光标向左移动一个字符
Alt + f 光标向右移动一个单词尾
Alt + b 光标向左移动一个单词
Ctrl + xx 光标在命令行首和光标之间移动
Ctrl + u 从光标处删除至命令行首
Ctrl + k 从光标处删除至命令行尾
Alt + r 删除当前
Ctrl + w 从光标处向左删除至单词首
Alt + d 从光标处向右删除至单词尾
Ctrl + d 删除光标处的一个字符
Ctrl + h 删除光标前的一个字符
Ctrl + y 将删除的字符粘贴至光标后
Alt + c 从光标处开始向右更改为首字母大写的单词
Alt + u 从光标处开始,将右边一个单词更改为大写
Alt + l 从光标处开始,将右边一个单词更改为小写
Ctrl + t 交换光标处和之前的字符位置
Alt + t 交换光标处和之前的单词位置
Alt + N 提示输入指定字符后,重复显示该字符N次
注意:Alt组合快捷键经常和其它软件冲突
- /proc 存放在内存中,用于存放内核与进程相关的数据
/sys 内存中和硬件相关的数据
各文件夹目录下各种符号开头的意义:
- -普通文件
d 目录文件
b 块设备
c 字符设备
l 符号链接文件
p 管道文件pipe
s 桃姐文件socket
touch创建空文件和刷新时间
touch
touch /目录/file
OPTION 选项
SOURCE 资源
DIRECTORY 目录
cp 复制
cp -a
归档,复制文件及文件属性,常用于备份
cp -r
或者cp -R
复制文件夹, r: 递归
cp -av
复制文件属性及过程
cp -u
复制的文件比我新就覆盖
cp -b
如果发现复制目标已经存在,会先把旧文件做一个
备份,备份文件会有~后缀,然后再覆盖,只保留
一个版本
cp --backup=numbered
如果发现复制目标已经存在,会先
把旧文件做一个备份,备份文件会有~后缀,然后
再覆盖,多个版本全部保留
scp /etc/issue name@xxx.xxx.xxx.xxx
文件传输
mv
移动(剪切,粘贴)和重命名文件
tree
显示文件夹结构
tree -d
只显示目录
tree L level
只显示*层
mkdir
创建目录
rmdir
删除目录
df
查看分区对于挂载点,大小,占用比
df -i
可以查看节点编号多少
- 删除运行中文件
> /boot/FILE
rm -f /FILE
索引节点 inode
meta data 文件元数据(文件属性)
inode number 节点编号(源数据的一部分)
ll -i
显示文件及文件节点编号
软链接和硬链接
-
硬链接:
一个文件起了多个名字,删名字不删文件
ln FILE FILExx
创建硬链接 -
f11.txt 与 f1.txt 为同一个文件,root前数字为链接数
(可以防止人为误操作删除)
硬链接不支持跨分区创建,更不支持远程
硬链接不支持对目录创建