当前位置: 首页 > news >正文

Linux常用基本命令

一、history

用于显示历史命令。

history 10显示最近10条历史命令。
!200使用第200行的指令。
history -c清空历史记录。

二、pwd

用于显示当前绝对路径。

pwd显示当前绝对路径。

三、ls

用于以行的形式显示当前文件夹下所有内容。

ls -a显示所有内容,包括隐藏文件。

四、ll

用于以列的形式显示当前文件夹所有内容。

ll -a以列的形式显示当前文件夹下所有内容。
ll -h将文件占用内存以更直观的形式显示。

五、mkdir

用于创建文件夹。

mkdir a在当前路径下创建一个名字为a的文件夹。
mkdir -p a/b/c创建一个多级文件夹。

六、rmdir

用于删除文件夹。

rmdir a删除当前路径下名字为a的文件夹。
rmdir -p a/b/c递归删除多级文件夹。

七、touch

用于创建文件。

touch a创建一个名字为a的文件。

八、cp

用于复制文件。

cp a /root把a文件复制到root目录下。
cp a /root/b.txt把a文件覆盖b.txt。
cp -r c /root把c目录递归复制到root目录下。

九、rm

用于删除文件。

rm a把当前目录下a文件删除。
rm -f a强制删除a文件。
rm -rf c递归删除c目录下所有内容且没有提示。
rm -f ./*删除当前文件夹下所有内容但保留文件夹。

十、mv

用于移动或重命名文件。

mv a /root把a文件移动到root目录下。
mv a /root/b把a文件移动到root目录下,并改名为b。
mv a b在当前目录下,把a文件重命名为b。

十一、cat

用于查看较少的文件内容。

cat a查看a文件的内容。
cat -n a查看a文件的内容并显示行号。

十二、less

用于查看大型文件。

less a查看文件a的内容。
less内部操作
空格翻到下一页。
回车翻到下一行。
b向上翻页。
=显示当前行数。
g跳到开头。
G跳到结尾。
/root搜索root关键字。(按n向下查找,按N向上查找)
q退出。

十三、echo

用于输出内容到控制台。

echo hello输出hello到控制台。
echo "hello    world"用引号可以显示多个空格。(以原样显示)
echo -e "hello\nworld"-e支持反斜杠转义字符。
ll > a将当前目录ll查出的内容写入文件a。(>以覆盖的方式写入)
echo "Hello, Linux." >> a将字符串写入文件a。(>>以追加的方式写入)
echo $查看系统环境变量。
echo $PATH查看PATH系统变量。
echo $HOSTNAME >> a将主机名写入文件a。

十四、head

用于显示文件开头部分内容。

head a查看文件a头10行。
head -n 20 a查看文件a头20行。

十五、tail

用于显示文件尾部内容。

tail a查看文件a尾10行。
tail -n 5 a查看文件a尾5行。
tail -f a实时追踪文件a的所有更新。(按ctrl+s停止追踪,但仍会记录,按ctrl+q继续,按ctrl+c退出)

十六、ln

用于链接文件路径。
链接之后无论在源文件还是链接文件更改,两边都能看到对应的更改。
当删除了源文件后,快捷方式(链接)也就没用了。
删除源文件对硬链接无影响。(推荐软连接)

ln -s /root/a a2在home(假设)下面创建一个文件软链接a2。(ll可以看到链接信息->)
ln -s /root/a /home/a2创建一个文件夹软链接。
pwd显示软链接路径。
pwd -P显示原文件路径。
rm a2删除文件软链接。(对源文件无影响)(相当于删除了个快捷方式)
rm -rf a2删除文件夹软链接。
rm -rf a2/删除链接源文件夹里面的内容。(不建议)

十七、date

用于显示日期。

date显示年月日时分秒。
date +%Y显示年。
date +%m显示月。
date +%d显示日。
date +%Y-%m-%d-%H:%M:%S显示年月日时分秒。
date "+%Y-%m-%d %H:%M:%S"将日和时之间的-换成空格。
date +%s显示时间戳。
date -d "1 days ago"显示昨天。
date -d "-1 days ago"显示明天。
date -d "-1 hours ago"显示下一小时。
date -s "2017-08-08 20:00:00"设置系统时间。

十八、cal

用于显示日历。

cal显示本月日历。
cal -3显示包括本月左右共3个月的日历。
cal -m将星期一放最前面。
cal 2025查看2025年的日历。
cal -y查看系统时间本年的日历。

十九、useradd

用于添加用户。

useradd tony在home目录下添加一个tony用户。
useradd -g bigdata xiaoming在bigdata组中加入xiaoming用户。

二十、passwd

用于更改用户的密码。

passwd tony更改tony用户的密码。

二十一、id

用于查看用户。

id tony查看tony用户。
less /etc/passwd查看创建了哪些用户。

二十二、su

用于切换用户。

su root切换到root用户。

二十三、who

用于查看用户信息。

who am i查看最开始登录的用户信息。(最外层的)
whoami查看现在的用户信息。

二十四、sudo

用于让普通用户具有root权限。

sudo ls以root身份使用ls查看。(要在/etc/sudoers修改配置文件)

二十五、userdel

用于删除用户。

userdel tony删除tony用户。(要以root的身份)(但是会残留文件夹)
userdel -r tony删除tony用户。(同时删除home目录下的文件)

二十六、groupadd

用于创建组。

less /etc/group查看所有组。
groupadd meifa创建一个组。

二十七、usermod

用于修改用户的组。

usermod -g meifa tony将tony加到meifa组中。

二十八、groupmod

用于修改组名。

groupmod -n haircut meifa修改meifa组名为haircut。

二十九、groupdel

用于删除组。

groupdel tony删除tony组。

三十、chmod

用于更改权限。
从左到右的10个字符:
 

属主user  
属组group 
其他用户other


当一个文件被创建时默认有两个链接数:.和..。

rwx 作用文件和目录的不同解释:
(1)作用到文件:

r代表可读(read):可以读取,查看。
w代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
x代表可执行(execute):可以被系统执行。


(2)作用到目录:

r代表可读(read):可以读取,Is查看目录内容。
w代表可写(write):可以修改,目录内创建+删除+重命名目录。
x代表可执行(execute):可以进入该目录。


chmod[(ugoa}{+-=}{rwx}]文件或目录
u:所有者  g:所有组  o:其他人  a:所有人(u、g、o的总和)

chmod u+x a.txt给文件所有者加上可执行权限。
chmod g+w a.txt给文件所有组加上可执行权限。
chmod a=rw a.txt给文件所有人赋值为可读可写权限。
chmod 777 houge.txt给所有人赋值可读可写可执行。(二进制7为111)
chmod -R 777 xiyou修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。

三十一、chown

用于更改属主。

chown happygame a.txt更改文件属主为happygame。

三十二、chgrp

用于更改属组。

chgrp haircut a.txt更改文件属组为haircut。

三十三、cd

用于切换目录。

cd ..返回上级目录。
cd /跳转到根目录。

三十四、reset

用于清屏。

reset清除屏幕。

三十五、find

用于查找文件。

find -name a在当前目录下查找名为a的文件。
find /root -name a在root目录下查找名为a的文件。
find /root -name "*.cfg"查找后缀名为cfg的文件。
find /home -user tony查找用户名为tony的文件。
find /root -size +10M查找文件大小大于等于10M的文件。

三十六、locate

用于快速定位文件路径。

updatedb在第一次使用locate之前要更新。
locate tmp查找所有名字带有tmp的文件。

三十七、grep

用于过滤查找。

grep -n boot a.txt在a.txt文件中查找boot关键字并显示行号。
ls | grep .cfg在当前目录查找通过管道再过滤出后缀是cfg的文件。

三十八、zip

用于压缩文件或文件夹。

zip -r myroot.zip /root递归压缩root文件夹得到myroot.zip。
unzip -d /tmp myroot.zip解压到指定文件夹/tmp。

三十九、tar

用于打包压缩。
文件格式:.tar.gz

-c产生 .tar 打包文件。
-v显示详细信息。
-f指定压缩后的文件名。
-z打包同时压缩。
-x解包 .tar 文件。
-C解压到指定目录。
tar -zcvf temp.tar.gz a.txt b.txt将a.txt和b.txt打包压缩成temp。
tar -zxvf temp.tar.gz -C /tmp将temp解压到tmp文件夹。

四十、du

用于查看文件和目录占用的磁盘空间。

du查看当前目录所有子目录大小。
du -ah不仅查看子目录还包括文件,并以易阅读的方式展现。
du -sh只统计总大小。(不关心下面具体的文件大小)
du --max-depth=1 -ah子目录深度为1。

四十一、df

用于查看磁盘空间使用情况。

df -h以易阅读的方式显示磁盘空间情况。
free -h查看内存使用情况。

四十二、lsblk

用于查看设备挂载情况。

lsblk查看设备挂载情况。
lsblk -f显示文件系统信息。

四十三、mount

用于挂载。

mount /dev/cdrom mnt/cdromdev/cdrom的文件增加一个mnt/cdrom挂载点。
umount /dev/cdrom卸载。

四十四、fdisk

用于查看磁盘分区情况。

fdisk -l查看磁盘分区详情。
fdisk /dev/sdb对其进行分区操作。
mkfs -t xfs /dev/sdb1对新分区sdb1指定文件系统。
mount /dev/sdb1 /home/happygame对新分区sdb1增加挂载点。

四十五、ps

用于查看当前系统进程状态。
如果想查看进程的CPU占用率和内存占用率,可以使用aux。
如果想查看进程的父进程ID可以使用-ef。

ps查看当前系统进程状态。
ps aux | less以用户友好方式显示系统中所有进程。
ps -ef | less可以查看进程父子关系。
ps -ef | grep 3746查找pid或ppid为3746的进程。

四十六、kill

用于终止进程。

kill 3535终止pid为3535的进程。
kill -9 3273强制终止pid为3273的进程。

四十七、pstree

用于查看进程树。
要安装:yum install pstree

pstree | less查看进程树。
pstree -p | less加上pid。
pstree -u | less加上进程所属用户。

四十八、top

用于实时监控系统进程状态。

top实时监控系统进程状态。
top -d 11秒更新一次信息。
top -i只显示活跃的进程。(不显示闲置和僵尸进程)
top -p 2655显示pid为2655进程详细信息。

四十九、netstat

用于查看网络信息。

其他网络命令
ifconfig查看网络连接和ip信息。
ping测试网络连通性。
-a显示所有正在监听和未监听的套接字。
-n拒绝显示别名,能显示数字的全部转化为数字。

-l

仅列出在监听的服务状态。
-p表示显示哪个进程在调用。
netstat -anp | less查看网络信息。

五十、crontab

用于编辑系统定时任务。

crontab -l查看所有定时任务。
crontab -e编辑定时任务。
crontab -r删除当前用户所有定时任务。
编辑定时任务说明
第一个*一小时当中的第几分钟。
第二个*一天当中的第几小时。
第三个*一个月当中的第几天。
第四个*一年当中的第几月。
第五个*一周当中的星期几。
45 22 * * *每天22点45分执行命令。
0 17 * * 1每周一的17点0分执行命令。
0 5 1,15 * *每月1号和15号的凌晨5点0分执行命令。
40 4 * * 1-5每周一到周五的凌晨4点40分执行命令。
*/10 4 * * *每天的凌晨4点,每隔10分钟执行一次命令。
*/1 * * * * echo "hello" >> /root/hello每隔一分钟往文件写入hello。


注意星期几和几号最好不要同时出现,十分混乱。


五十一、yum

用于管理一些包。

yum list | grep firefox查找是否安装firefox。
yum remove firefox卸载firefox。
yum -y install firefox安装firefox且自动确认。

五十二、systemctl

systemctl start httpd打开httpd服务。
systemctl restart httpd重启httpd服务。
systemctl status network显示网络状态。 

相关文章:

  • Ubuntu服务器日志满audit:backlog limit exceeded了会报错解决方案-Linux 审计系统 (auditd) 工具
  • Linux红帽:RHCSA认证知识讲解(十 三)在serverb上破解root密码
  • 构建用户友好的记账体验 - LedgerX交互设计与性能优化实践
  • springboot 切面拦截自定义注解
  • 50%时效提升!中巴新航线如何重构ebay跨境电商物流成本?
  • win7/win10/macos如何切换DNS,提升网络稳定性
  • 若依改用EasyCaptcha验证码
  • UE5在场景3D物体上播放本地视频(带声音)
  • 数据挖掘案例-电力负荷预测
  • L2-052 吉利矩阵分
  • Sentinel源码—3.ProcessorSlot的执行过程一
  • 第五章 5.2ESP32物联网应用:HTTP与Web服务器详细教学
  • dfs二叉树中的深搜(回溯、剪枝)--力扣129、814、230、257
  • SpringMVC学习(请求与响应。常见参数类型接收与响应。@RequestParam、@RequestBody的使用)(详细示例)
  • 阿里云集群开启debug
  • LangChain缓存嵌入技术完全指南:CacheBackedEmbedding原理与实践(附代码示例)
  • 遵守 Vue3 的单向数据流原则:父组件传递对象 + 子组件修改对象属性,安全地实现父子组件之间复杂对象的双向绑定示例代码及讲解
  • 道路运输安全员企业负责人考试内容与范围
  • Zookeeper 可观测性最佳实践
  • 【Qt】QWidget 核⼼属性详解
  • 门户网站是什么意思啊/360优化大师下载
  • 网站建设完成后交付方式/seo服务加盟
  • 可以免费做演播的听书网站/百度极速版
  • 企业网站开发/谷歌搜索引擎入口363
  • 商城网站如何设计/手游推广代理平台有哪些
  • 网站建设报告 商业价值/花生壳免费域名注册