Linux基本指令

46 篇文章 0 订阅
45 篇文章 0 订阅

Linux基本指令


Linux指令有很多,大致可以分为以下几类:目录操作相关指令、文件相关指令、压缩相关指令、匹配查找相关指令。

1.1 目录操作相关指令

假设系统的目录结构如下所示:

在这里插入图片描述

图1 linux目录树形结构

首先我们需要明确两个概念:
绝对路径:以根目录为起始的路径,比如:/home/lihua/work
相对路径:以当前所在目录作为起始的路径,比如:…/lihua/work

001 ls指令(查看文件和文件夹)

ls 列出当前目录下的所有子目录与文件。
ls -l 简写为ll,列出文件和文件夹的详细信息
ls -a 列出当前目录下的所有文件,包括隐含文件
ls -al 查看隐藏文件的详细信息
ls / 查看根目录下的文件和文件夹
ls -lh 查看文件的信息,文件的大小以KB为单位

002 pwd指令(查看当前路径)

pwd 显示用户当前所在的目录(绝对路径)

003 cd指令(切换文件夹)

cd … 返回上级目录
cd …/… 返回到上上级目录
cd /home/lihua/work 进入work文件夹下( /home/lihua/work是绝对路径)
cd …/linux 从work进入到linux (work和linux必须处于同一文件夹下,…/linux是相对路径)
cd ~ 进入用户家目录
cd - 返回到上一次所在的文件夹
cd / 切换到根目录

005 mkdir指令(新建文件夹)

mkdir folder 在当前文件夹下创建文件夹folder
mkdir -p test/test1 递归建立多个目录,先创建父目录test,在创建子目录test1

006 rmdir指令(只能删除空文件夹)

rmdir floder 删除空文件夹

007 rm指令(删除文件或文件夹)

rm file 直接删除文件file
rm -i file 删除文件file前询问是否删除
rm -f file 删除文件,即使文件属性为只读,亦即直接删除。
rm -rf folder:文件夹内有文件,也直接删除,不询问。
rm -r folder 直接删除文件夹folder及其内部的所有文件
rm -ri folder 删除前逐一询问是否删除
rm -rf * 将当前目录下的所有目录和文件全部删除
rm -rf/ 从根目录开始删除(警告:严禁使用该命令)

008 cp指令(拷贝文件或文件夹)

cp file … 将文件拷贝到上级文件夹
cp -r folder /home 将文件夹folder拷贝到家目录
cp a.c /home/aaa.c 将文件a.c拷贝到家目录并命名为aaa.c

009 mv指令(移动文件或文件夹,重命名)

mv a.c ~ 将a.c移动到家目录下
mv [path] a.c . 将a.c移动到当前目录下,path是a.c所在的路径
mv /home/lihua/work /home/lihua/linux 将work文件夹移动到linux文件夹下(被移动的文件夹,其路径必须包含自己的上级目录,比如:mv …/lihua/work …/ 将work移动到上级文件夹中)
mv a.c b.c 将文件a.c重命名为b.c
mv folder1 folder2 将文件夹folder1重命名为folder2

1.2 文件相关命令

004 touch指令(新建文件,刷新文件属性)

touch a.txt 创建一个新文件a.txt
touch a.c b.c d.c 连续创建文件

010 cat指令(查看目标文件全部内容)

(打印文件内容到终端显示)
cat a.c 查看a.c的内容

011 more指令(查看目标文件部分内容)

(分页显示)
more a.c 查看a.c的内容,”F”和“B”翻页,Ctrl+c退出查看

012 less指令(查看文件预加载内容)

less a.c 查看a.c的内容,”F”和“B”翻页,Ctrl+c退出查看

014 head指令(查看文件头部内容)

head a.c 查看a.c前10行内容
head -n 20 a.c 查看a.c前20行内容

015 tail指令(查看文件尾部内容)

tail a.c 默认查看后10行内容
tail -n 5 a.c 查看a.c的后5行
tail -f a.c 循环读取a.c是否有新的变化,文件有修改,则会显示修改,Ctrl+c结束读取。
例如: tail -f b.c
echo “hello world” >> b.c
echo “hello world” >> b.c

利用head和tail打印文件的任意一行,比如我们想打印文件a.c的第五行,命令如下:
head -n 5 a.c | tail -n 1

1.3 压缩相关命令

018 zip/unzip指令(压缩文件/解压缩文件)

zip a.zip a.c 将文件a.c压缩为a.zip
zip folder.zip folder 仅压缩文件夹,解压缩后内部无文件
zip -r folder.zip folder 把文件夹下的文件一起递归压缩
unzip a.zip 解压文件
unzip folder.zip 解压文件夹

019 tar指令(压缩文件/解压缩文件)

tar -zcvf folder.tar.gz folder 使用gzip格式压缩文件夹folder
tar -zxvf folder.tar.gz 解压文件夹folder
tar -jcvf folder.tar.bz2 folder 使用bzip2压缩文件夹folder
tar -jxvf folder.tar.bz2 解压文件夹folder

1.4 匹配查找

016 find指令(查找文件)

find ~ -name a.c 查找家目录下名字为a.c的文件
find . -name “.c" 找到当前目录及其子目录下以.c结尾的文件
find . -name "
.c” -maxdepth 1 | xargs rm 查找当前目录下.c结尾的文件,并将其删除,查找目录深度为1。xargs是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,用于很多不支持|管道来传递参数的命令
find . -name “*.c” | xargs rm 查找当前目录及其子目录下以.c结尾的文件,并删除

017 grep指令(搜索文件,也可以搜索文件的内容)

grep “hello world” ~ -R 从家目录下递归搜索文件内容包含hello world字符串的文件 (搜索文件内容)
grep -R ‘struct’ /usr/include/ 在/usr/include/目录下递归查找包含‘struct’字符串的文件(记住搜索的字符串尽量特殊一点,这样查找起来更精准)

配合管道符号,显示过滤后的搜索结果
ll | grep “.c” 筛选命令ll的输出结果,即显示文件名带字符.c的文件。加上管道符号 | 之后,是将ll 命令的输出结果,通过管道,传递给grep命令,作为grep命令的输出参数,利用grep命令进行过滤。

grep -E ^h b.c 找到文件b.c含有以h字母为行开头的内容,-E选项用来扩展选项为正则表达式,表示匹配文件起始,h表示以h改行的起始字母
grep -E d$ b.c找到文件b.c含有以d字母为行结尾的内容,-E选项用来扩展选项为正则表达式, 表 示 匹 配 文 件 末 尾 , a 表示匹配文件末尾,a 表示匹配文件末尾,a表示以a结尾(2021年3月17日19:24:50测试只适合搜多以字母为结尾的行,其他符号,比如标点符号不支持该类搜索)

1.5 常见操作

007 man指令(查看手册)

man 1 rm [指令] 查看指令的帮助手册,1代表指令手册
例如:man 1 cd 简写为man cd,查看cd指令的帮助手册
man 2 [系统函数] 查看系统调用函数的帮助手册,2代表系统调用手册
例如:man 2 fork 简写为man fork,fork是系统调用函数
man [库函数] 查看库函数的帮助手册,3代表库函数手册
例如:man 3 strlen 简写为man strlen,查看strlen函数的帮助手册

Linux一共有7个手册,以上介绍的三个手册使用的简写格式都相同。
注意:你可能遇到的问题,第一次使用man 查找不到strlen,显示“No manual entry for strlen in section 3”或“No manual entry for strlen”。
解决方案:
切换到root用户:su root
执行:yum -y install man-pages

013 echo指令(通过I口把文本写入文件)

echo “I Love dog” 将一串数据写入到显示器文件
echo “I Love dog” > a.c 把I Love dog写入a.c,并把以前的内容覆盖(也可以理解为先清空,后写入a.c)
echo “I Love bird” >> a.c 把I Love bird追加在指定文件a.c的文本末尾。

032 关机和重启

shutdown -h now 立刻关机
shutdown -h 3 3分钟后关机
poweroff 立刻关机

服务器一般只重启,不关机
shutdown -r now 立刻重启
shutdown -r 3 3分钟后重启
reboot 立刻重启

028 ifconfig(查看网卡信息)

1.6 权限相关指令

两类用户:管理员(root)用户(权利最大)
普通用户 (权利受限)

1.6.1 系统操作权限

020 su指令(切换用户,获取root权限)

su 从普通用户切换到root用户,输入命令后,会提示输入密码。
su - root 切换到root用户
su root 切换到root用户
exit 退出root用户

033 sudo(让一个普通用户当前操作具有管理员权限)

与其他指令搭配使用,为其他指令提权

1.6.2 文件权限

034 umask(权限掩码)

改变文件创建时的默认权限
umask 查看文件的权限掩码(掩码以8进制显示,取反后即为文件默认权限)
umask -S 查看文件创建时的默认权限

035 chgrp(修改文件所属组)
036 粘滞位

对于其他用户来说,在修饰了粘滞位的目录中可以创建文件,但是只能删除自己的文件,不能删除别人的。那粘滞位有啥用呢?举个例子,比如三个人:小1、小2、小3,假如小1在自己的家目录下创建一个文件夹tmpdir,则小2和小3在tmpdir中都属于其他用户,如果对这个文件夹设置粘滞位,则在这个文件夹中,小2和小3可以创建文件,也可以删除自己的文件,但不能删除别人的文件。
命令:管理员权限下输入:chmod +t tmpdir 为文件夹tmpdir设置粘滞位

023 chmod指令(设置文件的访问权限)

访问文件的用户具备三种类型:

用户访问文件的三个权限:

chmod u+x a.c 给文件拥有者用户加执行权限
chmod o-w a.c 给其他用户取消写权限

1.7 其他指令

021 tree指令(查看目录结构)

这个指令是不存在的,需要首先安装
安装:
1.切换到root用户,执行yun -y install tree
使用方式:
tree [path] 查看该路径的结构
tree . 查看当前目录的结构

022 history指令(查看历史命令)

快速执行历史命令

024 rz指令(上传文件)

输入rz然后选择需要上传的文件

025 sz指令(下载文件)

sz a.c 下载a.c文件

026 useradd指令(添加用户)

useradd lihua 创建一个用户名为lihua的用户

027 ps指令(查看进程信息)

ps -ef 查看进程简略信息
ps aux 查看所有进程详细信息
ps aux | grep test 查看test进程的详细信息

037 ldd指令(查看当前程序所依赖的动态库)

ldd main 查看main所依赖的库文件

038 sleep指令(睡眠)

sleep 60 睡眠60秒


总结

以上讲解了一些Linux相关指令,可供各位参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值