Linux基础笔记4 | 必备基础命令
绝对路径:以根目录为参照物,从根目录开始,一级一级进入目录
相对路径:以当前目录作为参照物,进行目录查找
1.1 目录操作
ls
显示目录下的内容
# 查看/etc/passwd文件/文件夹下的信息
ls -l /etc/passwd
# 查看当前文件夹下的目录及文件信息
ls -l
# 按照时间排序显示文件信息(升序)
ls -lrt
# 按照时间排序显示文件信息(降序)
ls -lat
# 查看当前目录下包含以.开始的隐藏文件与目录信息
ls -a
# 以人性化显示当前目录下的容量信息
ls -lh
cd
切换所在目录
# 进入目录
cd /etc
# 进入家目录
cd ~
# 进入上次操作的目录
cd -
# 进入上一级目录
cd ..
# 进入当前目录
cd .
# 进入上一级目录下的子目录
cd ../log
pwd
查询所在的目录
# 显示目录所在的目录的绝对路径
pwd
mkdir
创建空目录
# 在当前目录下创建一个test目录
mkdir test
# 在当前目录下创建2个目录:test1 test2
mkdir test1 test2
# 在当前目录下创建多个有规则目录名的目录:test2 test3 test4
mkdir test{2..4}
# 递归创建目录:会自动创建系统中不存在的目录层级
mkdir -p /tmp/test1/test2/test3
rmdir
删除空目录
# 删除当前目录下的一个空目录(不会提醒你确认,直接删除)
rmdir test2
# 递归删除空目录(目录下如果有文件,就会删除失败,但是不影响空目录的删除)
rmdir -p /tmp/test1/test2/test3
1.2 文件操作
touch
创建空文件、修改文件时间戳
# 在当前目录创建一个test.txt文件
touch test.txt
# 将test1.txt和test2.txt的时间戳信息保持一致:test1.txt为准/状态修改时间不一致
touch -r test1.txt test2.txt
stat
查看文件详细信息(文件大小、权限、文件系统信息、最近访问时间、数据修改时间、状态修改时间)
- 访问时间(Access Time,简称 atime):只要文件的内容被读取,访问时间就会更新。例如,使用 cat 命令可以查看文件的内容,此时文件的访问时间就会发生改变
- 数据修改时间(Modify Time,简称 mtime):当文件的内容数据发生改变,此文件的数据修改时间就会跟着相应改变
- 状态修改时间(Change Time,简称 ctime):当文件的状态发生变化,就会相应改变这个时间。比如说,如果文件的权限或者属性发生改变,此时间就会相应改变
# 查看当前目录下 test.txt 文件的详细信息
stat test.txt
cat
查看文件内容
# 查看test.txt文件的内容
cat test.txt
# 查看test.txt文件内容并显示行号
cat -n test.txt
# 按顺序打印两个文件的内容
cat test1.txt test2.txt
more
分屏显示文件内容
- 空格键:向下翻页
- b:向上翻页
- 回车键:向下滚动一行
- /字符串:搜索指定的字符串
- q:退出
# 分屏交互查看messages文件
more /var/log/messages
less
分行显示文件内容
- b:向后翻一页
- d:向后翻半页
- h:显示帮助界面
- q:退出less 命令
- u:向前滚动半页
- y:向前滚动一行
- 空格键:滚动一行
- 回车键:滚动一页
- pagedown: 向下翻动一页
- pageup: 向上翻动一页
# 分行交互查看messages文件
less /var/log/messages
head
显示文件开头的内容:默认前10行内容
# 查看当前目录下messages文件的前10行
head messages
# 查看当前目录下messages文件的前20行
head -n 20 messages
# 查看当前目录下messages文件的前10行并在首行显示文件名
head -v messages
tail
显示文件结尾的内容:默认后10行内容(注意不是从最后一行显示,是从倒数第10行到结尾)
# 查看当前目录下messages文件的后10行
tail messages
# 查看当前目录下messages文件的后20行
tail -n 20 messages
# 动态显示当前目录下messages文件的新增内容(会先打印出后10行内容,按ctrl+c退出动态显示)
tail -f messages
ln
建立文件之间的链接关系
软链接:有点像windows下的快捷方式;删除源文件会影响目标文件;只是维护了一个指向关系而已
硬链接:等于cp -p 加同步更新;删除源文件不影响目标文件
- s:建立软链接文件
- f:强制建立链接关系,如果目标文件存在,会删除目标文件后建立链接文件
# 以1.txt为源文件,建立软链接(目标文件2.txt不能存在)
ln -s 1.txt 2.txt
# 以1.txt为源文件创建硬链接
ln 1.txt 2.txt
1.3 目录和文件操作
rm
删除文件/目录
# 强制删除当前目录下的test1.txt文件(不会询问)
rm -f test1.txt
# 删除当前目录下的test1.txt文件(会询问)
rm test1.txt
# 递归删除当前test1目录下的所有东西(不包括test1目录本身)
rm -rf test1/*
# 删除当前目录下的test1目录下的所有东西,包括test1目录本身(谨慎使用)
rm -rf test1
cp
复制文件或目录
# 将/etc/passwd文件复制到当前目录下
cp /etc/passwd .
# 将/etc/passwd文件复制到/tmp目录下
cp /etc/passwd /tmp
# 将/etc/passwd文件复制到/tmp目录下,并重命名为passwd.bak
cp /etc/passwd /tmp/passwd.bak
# 将/etc目录下的所有文件及目录复制到/tmp目录下并保留相关属性
cp -a /etc /tmp
# 将/etc目录下的所有文件及目录复制到/tmp目录下重命名etcbak并保留相关属性
cp -a /etc /tmp/etcbak
mv
移动文件或改名
# 将当前目录下的文件test1.txt改成为test.txt
mv test1.txt test.txt
# 将当前目录下的文件test.txt移动到/var/log目录下
mv test.txt /var/log/
# 将当前目录下的文件test2.txt移动到/var/log目录下并重命名为:test2.txtbak
mv test2.txt /var/log/test2.txtbak
# 当前目录下的test2目录重命名为test2bak
mv test2 test2bak
1.4 权限操作
chmod
修改文件和目录的权限
# 赋予1.sh文件可执行权限
chmod +x 1.sh
# 递归赋予test目录下所有文件的可执行权限
chmod -R +x test
# 修改1.sh文件对应权限值
chmod 444 1.sh
chown
修改文件或者文件夹属主及属组
# 修改1.sh文件的属组为whale组
chown :whale 1.sh
# 修改1.sh文件的属主为whale用户
chown whale 1.sh
# 同时修改1.sh文件的属主及属组为root用户和root组
chown root:root 1.sh
# 递归设置test目录下的所有文件属主和属组
chown -R whale:whale test
umask
系统默认权限值
# 查看系统默认权限值
umask
# 八进制显示默认权限值
umask -S
1.5 命令帮助
man
显示联机帮助手册
# 查看cat命令的帮助信息
man cat
# 查看cat命令是干什么的
man -f cat
info
完整资料的帮助信息
# 查看cat命令的完整资料
info cat
help
获取shell内置命令的帮助信息
# 查看内置命令cd的帮助信息
help cd
# 查看cd命令是否属于shell内置命令
type cd
–help
使用 --help 选项来查看帮助,绝大多数有效
# 查看awk命令的帮助信息
awk --help
1.6 搜索命令
whereis
搜索系统命令的命令:搜索命令的二进制文件路径、源文件、帮助文档路径
# 搜索cat命令的相关文件的路径
whereis cat
which
搜索系统命令的命令,包括别名
# 搜索rm相关的信息(别名信息也能显示出来)
which rm
locate
按照文件名搜索普通文件的命令:默认或关闭了的
find
在对应目录中搜索文件
# 在/etc目录下搜索一个文件名为passwd的文件
find /etc -name passwd
# 查找当前目录下的hello.doc的文件信息
find -name hello.doc
# 查找/var/log目录下以.log结尾的文件信息
find /var/log -name *.log
# 查看整个系统中所有的空文件
find / -empty
# 查找整个系统中所属组为whale的文件
find / -group whale
# 查找/var/log目录下3天内被修改过的文件
find /var/log -mtime -3
# 查找/var/log目录下3天前被修改过的文件
find /var/log -mtime +3
# 查找/var/log目录下3天前的当天被修改过的文件
find /var/log -mtime 3
# 查找/var/log目录下大于1MB的文件
find /var/log -size +1M
# 查找/var/log目录下的普通文件
find /var/log -type f
# 查找属主为whale的文件
find / -user whale
# 查找/var/log目录下大于1MB的文件后列出文件的详细信息
find /var/log -size +1M -exec ls -lh {} \;
# 查找在/tmp目录下属主为whale的文件后进行删除
find /tmp -user whale -exec rm -rf {} \;
1.7 压缩解压命令
zip
“.zip”的压缩方式:压缩文件或目录
(默认未安装此命令,centos 7可使用yum install -y zip
进行yum在线安装)
# 压缩当前目录下的test3.txt和test4.txt文件,压缩包名称为:test.zip
zip test.zip test3.txt test4.txt
# 压缩当前目录下的test4目录
zip -r test4.zip test4
unzip
提取压缩中的文件
(默认未安装,centos 7可使用yum install -y unzip
进行yum在线安装)
# 将test.zip解压缩在当前目录
unzip test.zip
# 将test.zip解压缩在指定目录/tmp/test4目录下
unzip -d /tmp/test4 test.zip
gzip
“.gz”格式的压缩方式:压缩文件或者目录
# 压缩文件test3.txt(文件本身压缩后就不存在了,会删除源文件)
gzip test3.txt
# 解压缩test3.txt.gz文件
gzip -d test3.txt.gz
# 压缩目录test2bak:不对目录做压缩,只对目录下的文件递归去做压缩
gzip -r test2bak
bzip2
".bz2"压缩格式
(默认未安装,centos 7可使用yum install -y bzip2
进行yum在线安装)
# 压缩test3.txt文件(源文件会删除)
bzip2 test3.txt
# 解压test3.txt.bz2文件
bzip2 -d test3.txt.bz2
# 保留原文件压缩test3.txt文件
bzip2 -k test3.txt
tar
打包与解包文件,linux 下用的最多的一个解压缩命令
# 将目录/etc打包保存为:etcbak.tar
tar -cf etcbak.tar /etc/
# 将目录/etc打包保存为:etcbak.tar.gz
tar -czf etcbak.tar.gz /etc/
# 将目录/etc打包保存为:etcbak.tar.bz2
tar -cjf etcbak.tar.bz2 /etc/
# 将目录/tmp/test/etc打包后删除源文件
tar -czf ectbak.tar.gz /tmp/test/etc/ --remove-files
# 从打包文件中删除passwd文件
tar --delete etc/passwd -f etcbak.tar
# 查看打包文件的信息
tar -tf etcbak.tar
# 查看打包文件的详细信息
tar -tvf etcbak.tar
# 解压gz格式的打包文件在当前目录
tar -xzf etcbak.tar.gz
# 解压bz2格式的打包文件至当前目录
tar -xjf etcbak.tar.bz2
# 解压gz格式的打包文件至/tmp/test目录下
tar -xzf etcbak.tar.gz -C /tmp/test
1.8 关机重启操作
sync
刷新文件系统缓冲区;数据同步;强制将内存缓冲区中的数据立即写入磁盘中
# 强制同步内存缓冲区数据写入磁盘
sync
shutdown
安全关闭和重启 linux 系统的命令
# 2分钟后关闭linux系统
shutdown -h +2
# 12点准时重启Linux系统
shutdown -r 12:00
# 立即关闭linux系统
shutdown -h now
# 立即重启linux系统
shutdown -r now
reboot/poweroff/halt
重启系统命令
# 立即重启系统
reboot
# 关机linux系统
halt
# 关机
poweroff
init
切换运行级别,如果级别存在的话
# 关机:级别0表示关机
init 0
# 重启:级别6表示重启
init 6
logout/exit
注销并退出当前用户窗口
# 注销登录
logout
# 注销登录
exit
1.9 常用网络操作
ifconfig
配置网络接口;命令如果不存在,需要安装net-tools:(centos 7可在线安装yum install -y net-tools
)
# 查看本机的IP信息
ifconfig
# 关闭eth0的网卡
ifconfig eth0 down
# 启动eth0的网卡
ifconfig eth0 up
ping
通过 ICMP 协议进行网络探测,测试网络中的主机通信情况
# ping4次IP地址
ping -c 192.168.204.101
# 探测192.168.204.255广播整个网段
ping -c -b 192.168.204.255
netstat
网络状态查看:本机开启的端口、客户端连接(centos 7可进行在线安装yum install -y net-snmp net-tools
)
# 查看本机监听的端口信息
netstat -tuln
# 查看本机程序监听的端口信息
netstat -tulnp
# 查看目前所有的网络连接
netstat -an
# 查看目前所有的TCP连接
netstat -ant
# 查看目前所有的UDP连接
netstat -anu
write
向其他用户发送信息
# 向在远程终端1登录的whale用户发送信息,使用ctrl+D快捷键保存发送的数据
write whale pts/1
wall
给所有登录用户发送信息,包括本身
# 向所有用户发送信息:helloworld
wall "helloworld"
向其他用户发送邮件
# 向whale用户发送邮件(交互式)
mail whale
# 查看收到的邮件
mail
# 将/var/log/messages文件发给whale用户
mail -s "这是邮件标题" whale < /var/log/messages
2.0 系统痕迹查看
w
查看系统中正在登陆的用户信息:命令查看的其实就是/var/run/utmp 文件
# 查看系统中目前在线的用户信息
w
who
简洁地显示目前登陆在线的用户:命令查看的其实就是/var/run/utmp 文件
# 显示目前系统在线的用户信息
who
last
查看系统所有登陆过系统的用户信息,记录了登陆前和登陆后的用户信息:命令查看的其实就是/var/log/wtmp 文件
# 查看系统登陆过系统的用户信息
last
lastlog
查看系统中用户最后一次登陆系统的时间:查看的其实就是/var/log/lastlog 文件
# 查看系统中用户最后一次登陆系统的时间
lastlog
lastb
查看错误登陆的信息:查看的其实就是/var/log/btmp 文件
# 查看错误登陆的信息
lastb
2.1 其他命令操作
echo
打印字符和回显
# 在命令行打印hello world
echo hello world
# 将内容追加到test.txt文件中(文件不存在时会自动创建该文件)
echo "hello world">>test.txt
# 将内容覆盖到test.txt文件中
echo "whale! hello world">test.txt
# 在命令行打印有颜色的hello world(红色)
echo -e "\033[31m hello world \033[0m"
df
磁盘分区查询
# 以人类可读的形式显示磁盘分区大小
df -h
# 查看所有文件系统的使用情况
df -ah
# 查看inode使用情况
df -i
# 只显示本机的文件系统使用情况
df -lh
# 强制使用1000查看使用情况,而非1024
df -H
# 查看使用文件系统信息前先进行同步动作
df --sync -h
du
查看文件在磁盘中的使用量
# 查看当前目录下各文件夹大小占比
du -sh *
# 查看当前目录下所有文件的大小量
du -ah *
相关文章
- Linux 查看运行日志: 一个解决方案(linux查看运行日志)
- Linux启用网卡的简单命令行指南(linux启用网卡命令)
- Linux G:新一代操作系统新体验(linuxg版本)
- Linux 的依赖性:建立强韧的基础(linux依赖性)
- 探索在线Linux环境的极致乐趣(在线linux环境)
- 连接Linux:精通系统工具的基础(连接linux系统工具)
- 深入了解Linux启动项管理(linux启动项管理)
- 研究Linux模块参数调优(linux模块参数)
- Linux培训:掌握基础技能的必修课(linux培训教程)
- Linux查看目录大小:基础技巧(linux查看目录大小)
- Linux系统编程:从基础到专业,第2版(linux系统编程第2版)
- Linux版本:差异、比较与选择(常见的linux版本)
- Linux基础入门:免费下载必备书籍(linux基础书籍下载)
- 最小,最大:Linux逆袭篇(最小linux)
- 内存Linux深入分析:页面内存管理(linux页面)
- 25字文章标题: Linux操作:快速入门基础教程.(linux操作基础)
- 系统连接虚拟机系统:进入Linux世界(连接虚拟机中的linux)
- Linux的新分支: 探索未知的世界(linux的分支)
- Linux 主机名修改:快速简单的操作方法(linux主机名设置)
- Linux基础笔试:面对挑战,不负重望(linux基础笔试)
- 精通Linux运维课程,从零基础到高级水平:全面掌握Linux系统管理及维护技术,面向初中高级从业者。(linux运维课程)
- Linux基础视频教程:学习更快速的进阶之路(linux基础视频教程)
- 掌握Linux基础:参加Linux基础考试吧!(linux基础考试题)
- Linux零基础入门学习攻略(linux零基础学习)
- Linux系统轻松安装显卡驱动的技巧(linux装显卡驱动)
- Linux存储大小:如何管理您的磁盘空间?(linux存储大小)
- 小白也能学会!零基础学习Linux,轻松掌握操作系统的基本知识!(零基础学习linux)
- 命令Linux终端中的基础常用命令(常用 linux)
- 编写Linux命令的基础指南(编写linux命令)
- 安卓手机如何远程连接Linux桌面?(安卓远程桌面linux)
- LINUX入门:视频让你轻松掌握基础操作(linux入门视频)
- Linux——让你的信息存储更安全可靠(linux 为知笔记)