一.基本命令的用法
1. alias 查看所有的别名
alias NAME=”value” 定义别名
unalis 撤销别名
nano .hashrc 在该文件中存放了一些别名命令
. .hashrc (或 source .hashrc) 使写入的命令生效
命令的别名:用于常用的长命令定义一个短的名字,以便使用(尽量不与内部命令和外部命令的名称重复)
别名优先级>内部命令> 外部命令
若想使用别名的基本功能:可加\或 ‘ ‘(例如: \ls 或 ‘ ls’)
.bashrc // 存放别名的文件
2. cat /etc/centos-release 查看发行版本
cat /proc/meminfo 内存大小
uname -r 可查看内核版本
echo $SHELL 查看当前的shell类型
cat /etc/shells 查看支持的所有文件类型
/bin/csh 切换到csh类型的shell(不同shell类型支持的命令有所不同)
3. fdisk -l 查看磁盘分区
ls /dev/sda* //查看块设备
lsblk 块设备的状况
4. ifconfig 查看IP地址
ip a 查看IP地址
5. poweroff 关机并断电
halt 关机
shutdown 关机(-r 代表重启;-h 代表关机; +m 相对时间,几分钟后关机;)
reboot 重启
init (0关机;3字符界面;5图形界面)可完成模式的切换(普通用户不能用init5开启图形界面,没有权限)
startx 开启图形界面;但没有进行模式的切换
6. df 查看挂载情况
7. rm –f 文件路径 删除文件
8.执行命令分类:内部命令:shell自带且通过某命令形式提供;外部命令:在文件系统的路径下有对应的可执行程序
Hash缓存表:当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录在缓存中
type pwd 判断pwd是外/内部命令
enable 查看内部命令列表
type 可查看命令是什么命令(外部命令显示路径)
enable type 启用内部命令
enable -n type 禁用内部命令
enable -n 查看所有禁用的命令
echo $PATH 查看PATH的变量值(按该路径进行搜索)
which 查看外部命令对应的路径
which -a 查看命令所在的所有路径
whereis 显示外部命令的路径还显示子文档的信息
9. 终端类型:设备终端、物理终端、虚拟终端、图形终端、伪终端
who //查看开启了哪些终端,并可以看出以什么身份登录的
whoami 显示当前用户身份
who am I 显示具体的用户身份信息
w //显示谁在登录并显示在执行什么命令
tty //查看哪个终端登录;显示完整设备路径
chvt 数字 //切换到某一终端
runlever 查看当前模式
id -u 用户名 //查看用户ID(root用户UID=0,centos6中普通用户UID为500;centos7中普通用户UID=1000;可自行设置UID)
hostename 查看用户名
echo $PS1 查看PS1的当前格式(修改PS1即可修改提示符的格式)
10. mandb //加载whatis库(centos7)
makewhatis //加载whatis库
gedit 适合图形界面的编辑
nano 字符界面的编辑
11. date 查看系统时间日期 (外部命令)
clock 查看硬件时间(-s以硬件时钟为准; -w 以系统时间为准 )
ntpdate 172.20.0.1 将系统时间与服务器时间同步
wall 发广播
timedatectl 时区
/etc/localtime 该文件记录的时区
timedatectl status 查看所有的时区(centos7 中)
timedatectl set-timezone Asia/Shanghai 设置时区
cal 查看日历
12. cp 文件路径1 文件路径2 //复制文件到指定位置
rm -f 文件路径 删除文件
> f1 可以创建文件f1
13. systemctl restart nework 实现网络服务的重启(在centos7中)
service network restart 实现网络服务重启(在centos 6中)
cat /etc/sysconfig/i18n 该文件记录语言(centos6中)
echo $LANG 存放语言变量
rz 传输文件到Linux
sz 传输文件到Windows
echo $HISTSIZE 查看记录历史条数
/etc/issue 这是登录前的提示文件
sosreport 选择或者打包日志文件
rpm -i /misc/cd/Packages/ (如若在字符界面,可手动挂载光盘)
cat /etc/DIR_CLORS //在该文件可以修改文件的颜色
14. screen命令:
screen -S 名字 创建会话
screen -x 名字 加入会话
screen -ls 显示所有已经打开的会话
exit 退出会话
ctrl+a 在按d 剥离会话
screen -r 恢复会话
15. echo 命令:
-E 默认不支持\解释功能
-n 不自动换行
-e 启用\字符的解释功能
16. nano /etc/profile.d/env.sh
PS1=”\[\e[1;36m\][\u@\h \w]\\$\[\e[0m\]” // 实现永久性修改提示符的格式和颜色
17. gedit /etc/gdm/custom.conf //实现每次都是以root用户的身份登录
AutomaticLoginEnable=true //实现每次都是以root用户的身份登录
AutomaticLogin=root //实现每次都是以root用户的身份登录
18. gedit /etc/sysconfig/network-scripts/ifcfg-ens32 (在centos 7中)
最后一条代码中no改成yes //设置网卡的开机自启动
Vim /etc/ sysconfig/network-scripts/ifcfg-eth0(在centos6中)
ONBOOT=yes //设置网卡的自启动
IPADDR=192.168.239.128 //设置静态IP地址
NETMAKE =255.2555.255.0 //设置24 位子网掩码
19. 安装软件:
df : 查看光盘挂载在那个路径下
cd /media/CentOS_6.9_Final/Packages/ 切换到该路径下
ls 可以看到很多的红色压缩文件
rpm -ivh screen-4.0.3-19.el6.x86_64.rpm 安装screen
20. 快捷键:
Ctrl+Alt+f【1-6】 开启一个虚拟终端
Alt +f1 返回图形界面
Ctrl+c 中断一个程序
Ctrl+d 结束命令
Ctrl+o 执行命令,并重新显示本命令
Ctrl+l 清屏
Crtl +s 锁屏
Ctrl +q 允许屏幕输出
Ctrl+z 挂起命令
21. 命令提示符信息:#代表管理员用户;$代表普通用户
~ 代表家目录
/ 代表根目录
.. 代表父目录
. 代表当前目录
二.命令行的扩展
(1).命令行的扩展、被括起来的集合
1.反向单引号:当一个命令调用另一个命令的输出结果时使用 例如:co which –skip-alias ls
/data 将ls复制到/data下(变量和命令都识别)
2.单引号:只认为是普通字符串
3.双引号:只认变量
4.{}效果:表示范围,也可实现有规律的输出 例如:echo {1..10..2}
(2). Tab键可补全命令,文件,路径
双击Tab 键,可显示所有以一定字母开头的命令或者某命令的子命令等等
(3).history:命令历史,可查看之前的命令,并能实现快速重复执行之前命令;例如: !156(重复执行第156条命令)
Ctrl+r 在命令历史中搜索命令;Ctrl+G : 在搜索中退出
(4).获得帮助
三.基本命令用法
1.whatis:外部命令,功能:查看命令的功能描述(刚装好的系统可能无法查看命令功能,在centos6可用makewhatis创建; 在centos7用 mandb创建 man -f 与该命令功能类似)
2.help 内部命令 可列出命令的用法
history -c 清除命令历史,磁盘文件中还有记录(若想完整删除,先删除文件,在清除缓存)
history -d 删除第几条历史
history -a 追加本次会话历史写入磁盘文件
history -r 读取磁盘文件命令写入缓存列表
history -w 保存历史列表到指定文件
history -n 读取所有没在历史条目中读取过的命令写入缓存列表
history -p 执行命令但不产生历史记录
3.man 外部命令 列出外部命令的帮助
shutdown –help 用此命令来查看帮助
date –help
touch date -d “yesterday” +%F
.log 创建一个昨天的日志文件
在man帮助中搜索关键字用 / 后跟关键字
/etc/profile.d/env.sh 存放修改的配置命令
- info ls 查看命令帮助的详细信息
5.系统中自带的帮助说明
/usr/share/doc 目录,存放了大多数命令的帮助说明
6.在线文档获得帮助
sosreport 收集系统所有日志信息的工具
(5)bash 的快捷键
四.文件管理
www.pathname.com/fhs 该网站可以下载关于目录作用的文档
ldd /bin/ls 可以查查看ls调用的库文件
which init 查看init的文件路径
du -sh /* 可以查看某个目录的大小
新加硬盘的识别: echo ‘- – -‘ > /sys/class/scsi_host/host2/scan(不用于生产机)
文件名规则:文件名最长255个字符;包括路径在内的文件名最长4095字节;除了/和NULL 所有字符有效但不推荐使用特殊字符;标准 Linux文件系统中(如ext4),文件名称大小写敏感。
蓝色 —-目录
绿色—-可执行文件
红色——–压缩文件(打包文件)
浅蓝色——-链接文件(软链接)
灰色—– 普通文件
粉色——socket文件
浅黄色——-管道文件
Linux下的文件类型:
- :普通文件
d: 目录文件
b: 块设备
c: 字符设备
l : 符号链接文件
p: 管道文件pipe
s : 套接字文件socket
dd if=/dev/zero of=/data/bigfile bs=1M count=1024 输出1M的空文件,填充0
hexdump -C /data/bigfile 查看文件的二进制数据
pwd 显示当前工作目录 pwd -p 显示真实路径
绝对路径:从根开始描述的路径
相对路径:相对当前路径的路径; ..代表父目录 . 代表当前目录(特殊情况下相对于其他的路径)
basename 基名(只取文件本身的文件名)
dirname 目录名 (取路径,不去文件名
五.命令
1. cd //切换路径(~代表当前用户家目录;~user 可切换到user用户家目录;~+代表当前工作目录;~-代表前一个工作目录;-可返回上次访 问的目录)
ls //列出当前目录或指定目录内容
ls –d */ //只显示文件本身
ll –time=atime 文件路径 // 查看文件的读时间
ctime //状态的更改时间(代表元数据发生变化的时间)
stat 文件路径 //可查看文件的三个时间戳
2. 文件通配符(glod):
*匹配零个或多个字符(代表文件名的字符串)
?匹配任意一个字符
~+代表当前工作目录
~-代表前一个工作目录
【0-9】匹配数字范围
【a-z】字母(显示时是小写大写的输出)
【A-Z】字母 (显示时是大写小写的输出)
【user】匹配列表中的任意一个字符
【^wang】匹配列表中以外的字符(wang代表一个字符)
【:upper:】任意大写字母
【:lower:】任意小写字母
【:digit:】任意数字
【:alpha:】任意大小写字母
【:alnum:】任意数字或字母
ls -R .[^.]* 显示当前目录及子目录所有的隐藏文件
3. touch 创建文件和刷新时间戳
-a //仅改变atime和ctime
-m //仅改变mtime和ctime
-t //指定atime和mtime的时间戳
-c //只刷新时间,不创建时间
4. cp命令:复制文件和目录 (复制一般文件,特殊文件会出现问题,例如块文件)
-i 交互式 ,操作后出现提醒
-r 递归复制目录及子目录的所有内容
-f 强制覆盖(类似删除原文件,在建新文件)
-a 保留所有属性(可以作为备份手段类似存档;可以用来复制特殊文件)
-d 保留链接属性
-p 保留文件的部分属性
-v 显示复制的过程
-u 只能复制原比目的更新的文件或目标不存在的为文件
–backup=numbered 若目标已经存在,将源文件自动做一个备份
5. rename 命令:实现批量文件的重命名
rename “conf” “conf.bak” file* //将file开头的所有文件,将conf替换成conf.bak
rename “.bakf” ” ” file* //将文件名改回来
6. mv 命令:移动或重命名文件
mv -t /data /root/f1 /root/b 将f1和b文件移动到data目录下
rm命令:删除文件(如若文件正在访问不会立即释放空间)
-f 强制删除
-r 递归删除文件
7. 定义别名,将删除的文件放到指定目下:alias rm=”mv -t /data”
若想删除大型文件,立即释放空间:1.中断进程 killall vim
2. > bigfile 后再删除 rm -f bigfile
8.Tree 命令:显示目录树
-d 只显示目录
-L : 指定显示层级数目
9. mkdir 命令:创建目录
-p : 父目录不存在,直接生成
-v : 显示创建目录过程
rmdir 删除空目录:
-p : 若父目录为空,删除父目录
-v: 显示详细信息
10. cp /etc/hosts{,.back} 可以起到备份的作用
11. 节点表(inode表):存放元数据的位置
节点编号(在分区中唯一)
到指定目录后,ls -i 即可查看文件的节点编号
df -i 可以查看 分区节点的最大编号
echo file{1..524288} |xargs touch //创建大量的文件
echo file{1..524288} |xargs rm //删除大量文件 或者直接删除文件父目录
12. shred 命令:删除文件命令(删除的相对彻底)
-z
-v: 显示过程
-n :反复覆盖n次
例如:shred -zv -n 6 hosts
13. 硬链接:创建链接后链接数增长;不支持目录创建
链接数含义:一个文件有几个文件名
ln f1 f2 // 实现硬连接(实质上是一个文件起不同的文件名)
硬链接创建的文件是平等关系,但是不能跨分区设置硬链接
新建目录的链接数为2,是因为子目录下有个.(.代表当前目录)
软链接(符号链接):删除原始文件,链接文件即丢失(可以跨分区设置软链接)
ln -s f2 f2_link 创建f2的软链接(原始文件的大小与链接文件的大小没关系)
软链接文件的大小与路径有关系
软链接支持目录创建
创建软链接过程中,最好写绝对路径;若写相对路径,写相对链接文件的路径
软硬链接区别:
- 硬链接:同一个文件多个名字;软链接:一个文件对应的快捷键方式,不同文件
- 链接数:创建硬链接链接数增长
- 跨分区:软链接可跨分区,硬链接不可
- 目录:软链接可实现目录的链接,硬链接不可
- 原始文件与链接文件关系:硬链接原始文件与链接文件是同等关系
- 删除:硬链接删除原始文件,链接文件仍有效;软链接无效
- 大小:硬链接文件大小相同;软链接文件大小与原始文件无关
14. readlink 链接文件 //查看链接文件对应的原始文件
15. file 命令:查看文件的类型(查看文件的头部信息)
-b 列出文件结果不显示原始文件
-L 查看链接文件的原始文件的类型
-f 列出文件下所有文件名的文件信息
lsof //查看已删除但没有释放磁盘空间的 文件路径
例如:lsof |grep deleted