Linux基本命令

本文详细介绍了Linux根目录下的主要文件夹及其作用,如/dev、/lib、/sbin等,并深入讲解了常用命令如ls、touch、cp、mv、rm的使用方法和示例。此外,还提到了一些命令行快捷键、环境变量PATH、vim编辑器的操作以及文件权限管理。文章最后分享了一些有趣的Linux指令,如小火车、盒子和Linux_logo的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux根目录下的文件夹

目录名称作用
/dev存放抽象的硬件,类似于windows中的U盘,硬盘
/lib存放系统库文件,这种文件的后缀基本为.so
/sbin存放root可用的二进制文件(命令)
/var存放经常变化的文件,例如里面有一个日志/var/log记录系统运行时的各种信息
/home普通用户的家目录
/etc存放配置文件的目录
/boot存放内核与启动文件
/bin存放二进制文件,可执行命令

一些有意思的目录

目录作用
/etc/motd可以在里面写一些东西。然后开机的时候,或者每一次远程连接的时候显示这些东西
/etc/os-release此目录下有当前使用的Linux的发行版本等相关信息
/proc这个目录下面存放有计算机的硬件相关信息
/dev/null信息黑洞,可以将垃圾文件信息重定向到信息黑洞中
/etc/yum.conf这个文件是yum的基本配置

Linux的命令

简单命令

命令作用使用示例
ssh远程登录命令ssh slowstep@192.168.144.141
su -切换用户su -(切换到root)
su - slowstep(切换到slowstep)
logout退出当前用户logout
date查看当前时间date
mkdir {}可以创建多个文件夹。这个{}又被称为bash脚本语法mkdir new{1…100}dir
mkdir {dir1,dir2,dir3}
mkdir -p创建一系列递归目录mkdir -p ./dir1/dir2/dir3
alias可以显示当前机器上命令的别名alias
stat查看文件或者目录的属性stat test.soft
stat mydir
stat test.c
which可以查看命令所在的文件夹路径which ls
which rm
which which

ls命令

命令作用实例示例
ls -a可以列出隐藏文件ls -a ~
ls -l详细列出文件信息ls -l .
ls -h以人性化方式输出文件大小ls -l -h .
ls --full-time输出文件完整的时间信息ls -lh --full-time Mydir
ls --full-time ./test.txt
ls --full-time也可以起到ls -l的效果
ls -t根据文件的修改时间进行排序,最近一次修改的文件放在第一个,最后一次修改的文件放在最后一个,可以理解为将文件从新到旧进行排序ls -t -l .
ls -F可以在不同的文件结尾,输出不同的符号,可以用于在没有彩色显示的情况的判断文件类型(当然也可以直接用ls -l详细列出文件信息来判断文件种类,这种方法用来判断目录和文件居多)。
使用ls -F命令查看到的以*结尾的是可执行文件,以/结尾的是文件夹,以@结尾的是软链接
ls -F .
ls -d只显示文件夹信息,不显示文件夹中的具体内容ls -dl .
ls -S按照文件大小进行排序,默认是从大到小进行排序ls -Shl .
ls -r可以逆序排序,可以与ls中有排序的选项搭配使用ls -Slr .
ls -t -l -r .
ls -i可以显示文件的iNode编号ls -i test.c
ls -R可以显示文件夹中全部文件,子目录,以及子目录中的内容ls -R .

touch命令

命令作用实例演示
touch test.txt如果test.txt不存在,会创建test.txt,如果存在,会改变原来的test.txt的时间信息为现在touch test.txt
touch {}通过bash语法创建多个文件touch test{a…z}.c
touch -t可以将文件的时间信息修改,修改为将来或者过去的时间都可以touch -t 203010240505(年月日小时分钟)
touch -t 09090909(月日小时分钟)

cp命令

命令作用实例
cp test1.txt test2.txt复制当前目录下的test1.txt,在当前目录下创建一份一样的文件,名称为test2.txtcp test1.txt test2.txt
cp test.txt mydir拷贝一份test.txt到mydir目录中,保留原来的文件名cp test.txt mydir
cp test.txt mydir/new.txt拷贝一份test.txt到mydir目录中,并且重新命名cp test.txt mydir/new.txt
cp -r复制整个文件夹cp -r dir1 dir2(复制一份新的dir1,取名dir2)
cp -p在拷贝的时候保留文件属性,即适用于文件,也适用于目录cp -p a.out mybin
cp -pr mydir newdir
cp file.soft file2cp直接拷贝软链接时拷贝的是原文件.如果此时的软链接对应的原文件丢失,会直接拷贝失败cp file.soft file2
cp -d拷贝软链接.不管原软链接对应的文件是否存在,都可以拷贝软链接cp -d file.soft new.soft
cp -icp命令可以将一个文件中的内容覆盖另外一个文件。假设test.txt和help.txt都在目录中,cp test.txt help.txt可以将test.txt中的内容写到help.txt中,覆盖help.txt中的内容。加上-i参数可以询问是否覆盖cp -i test.txt help.txt

mv

命令作用示例
mv -i询问是否覆盖mv test.c new.txt
使用test.c中的内容覆盖new.txt中的内容
mv -f强制性覆盖mv test.c new.txt
将test.c中的内容强制覆盖new.txt

rm

命令作用示例
rm -i每次删除都询问rm -i test.c
rm删除普通文件rm test.txt
rmdir删除空的文件夹rmdir dir1
rm -d删除空目录rm -d emptydir
rm -r递归删除rm -rf ./*
rm -v显示详细的删除过程rm -vr dir1

帮助命令

命名作用示例
man获取帮助man ls
–help获取帮助rm --help
ls --help
info获取帮助info rm
info sudo
help获取帮助只能查到Linux内置命令,不常用

开关机

命令作用示例
shutdown -r设置时间重启shutdown -r now
立刻重启
shutdown -r 0
立刻重启
shutdown -r 10
10分组后重启
shutdown -h关机shutdown -h 0
shutdown -h now
shutdown -h 10
reboot立即重启reboot

命令行快捷键

快捷键作用
Ctrl +a光标移动到行首
Ctrl +e光标移动到行尾
Ctrl +u剪切光标前的内容
Ctrl +k剪切光标后的内容
Ctrl +y粘贴

环境变量PATH

环境变量即PATH

查看环境变量使用echo $PATH

使用which可以查看某一条命名所在的目录。

which ls,which rm.这些目录一定在PATH包含的路径中

vim

vim的命令模式的命令
命令作用
Ctrl + b上翻一页
Ctrl + f下翻一页
Ctrl + u上翻半页
Ctrl + d下翻半页
Ctrl + y向上翻滚一行
Ctrl + e向下翻滚一行
zz让光标调整到屏幕中间
zb让光标调整到屏幕下方
zt让光标调整到屏幕上方
0光标移动到行首
^光标移动到行首
x删除光标位置字符,可以搭配n + x使用
shift + x删除光标前的一个字符,可以搭配n +shift+x使用
shift + ~大小写转换,可以n+shift+~
$光标移动到行尾
dG删除光标所在的行到文件末尾的内容,可以先跳转到行首,然后dG可以删除所有文件内容
D删除光标所在处到行尾的内容
nyy复制n行
ndd剪切n行
p粘贴到光标的下一行
P粘贴到光标的上一行
r取代光标所在处字符
R从光标所在处开始取代字符,ESC结束
vim从命令模式切换到插入模式
命令作用
a光标后移
A在行尾插入
i光标不变
I行首插入
o切换到下一行
O切换到上一行
s删除光标位置元素后插入
S删除这一行并插入
vim底行模式操作
命令作用实例
vs多窗口:vs yum.conf
n切换到第n行:10
n1,n2d删除指定范围的行:10,20d
/string搜索指定内容:/tcp
set ic忽略大小写进行搜索:set ic
set noic取消忽略大小写:set noic
%s/old/new/g全文替换指定字符,且不询问:%s/by/newby/g
%s/old/new/c全文替换指定字符,询问:%s/tcp/udp/c
r test.txt将文件的内容导入到当前文件:r test.c
!可以在vim使用的时候执行其他命令:! ls -l .
r !可以把其他命令执行的结果导入到文件: r ! ls -l .
n1,n2s/^old/new/g©n1到n2行开头是old的替换为new,g表示不询问,c表示询问:10,20s/^#/zero/c
%s/^old/new/c(g)全部文本开头是old的替换为new,g表示不询问,c表示询问:%s/^#/te/g
w newfile另存为指定文件,不会删除原文件:w new.txt
ab txt1 txt2在插入模式下输入文本txt1然后空格可以替换为txt2:ab mail 123456789@qq.com
%s/^/#/g注释所有行:%s/^/#/g

修改权限,属组,拥有者

命令作用示例
chmod修改权限chmod u+x test.c
chmod g+rwx test.c
chmod o-rwx test.c
chmod 777 test.c
chmod a=rx test.c
a是所有,all的意思
chown修改拥有者chown root test.c
chgrp修改所属组chgrp root test.c
chown root:root test.txt同时修改拥有者和所属组chown root:root test.txt

重定向

重定向符号说明示例
>输出重定向(具有覆盖性)echo hellow > test.txt
cat test.txt > test.c
cat > test.txt <<EOF(可以不进入vim向test.txt输入,以EOF结束)
>>追加重定向(不具有覆盖性)cat test.c >> test.txt
echo “hellow world” >> test.c
<输入重定向cat -n < test.c
-n表示显示行号

cat

cat的基本参数

命令作用示例
cat test.txt将文件内容显示到屏幕cat test.txt
cat -b对非空的行进行编号cat -b test.txt
cat -n对所有的行进行显示行号cat -n test.txt
cat -E在每一行结束加上$符号cat -En test.txt
cat -s不输出多余的空行,就是说两行之间有多个空行时,只输出一行cat -s test.txt

cat对文件进行操作

命令作用实例
cat test1.c test2.c将2个文件的内容都显示在屏幕上cat test1.txt test2.txt
cat test1.txt test2.txt > new.txt将2个文件的内容合并为一个cat 1.txt 2.txt > new.txt
cat >> 1.txt <<EOF非交互式的向文件中写入内容cat >> 1.txt <<EOF
echo >test.txt清空文件,但是留有空行echo >test.txt
> 1.txt清空文件,不留痕迹> 1.txt
cat /dev/null > test.txt清空文件,没有空行cat /dev/null > test.txt

常用读取文件的命令

命令作用示例
|管道符号cat test.txt | grep “hellow”
grep筛选关键字cat mtools.conf | grep “/dev/dsk”
more分屏显示more test.txt
less分屏显示less test.txt
head查看文件开头的n行.head默认显示前10行head -5 test.txt
head -c指定显示文件的前多少个字符haed -c 300 test.txt
tail查看文件后n行,默认是后10行tail -4 test.txt
tail -f实时刷新文件后面的的内容是否变化。-f要求文件必须存在tail -f test.txt
tail -F实时刷新文件内容是否变化,如果文件不存在,会等到那个文件被创建tail -F none.txt
tac倒过来显示文件内容tac test.txt

cut命令

命令作用示例
cut -c icut -c,以字符为单位进行分割。取出每一行的第i个字符cut -c 5 test.txt
cut -c n1-n2取出每一行的n1到n2之间的所有字符cut -c 4-7 test.txt
cut -c n1,n2取出每一行的第n1个字符和第n2个字符cut -c 1,3,5,7 test.txt
cut -c 1-3,7-9 test.txt
cut -c -n test.txt只取每一行最前面的n个字符cut -c -3 test.txt
cut -c n- test.txt只取每一行从第n个字符开始往后的内容cut -c 4- test.txt
cut -d自定义分割符号进行截取cut -d “:” -f 3-6 test.txt
以冒号作为分隔符,截取第3-6区域的内容
cut -d “=” -f 2 test.txt | head -3

sort

命令作用示例
sort -n从小到大进行排序,不去重sort -n test.txt
sort -nr从大到小进行排序,不去重sort -rn test.txt
sort -u从小到大排序,去重sort -u test.txt
sort -ur从大到小进行排序,去重sort -ur test.txt
sort -t -k指定分隔符与排序区间进行排序sort -n -t “:” -k 4 test.txt

uniq

命令作用示例
uniq找到多行连续重复的内容时,会进行去重uniq test.txt
uniq + sort去重,即使相同的内容不在同一行,也可以sort -n test.txt | uniq
sort -n -t “.” -k 4 test.txt | uniq
uniq -c统计相邻的行且内容相同的出现了多少次uniq -c test.txt
uniq -c + sort经过排序以后可以统计整个文本中相同内容的行出现了多少次sort -n -t “.” -k 4 test.txt | uniq -c
uniq -d只统计重复的行,通常与sort配合使用sort -n test.txt | uniq -d -c
uniq -u只找到出现一次的行sort -n test.txt | uniq -u -c

wc

wc命令可以对文件,字符串等内容进行操作

命令作用示例
wc -l统计文件有多少行wc -l test.txt
wc -w统计单词的数量echo “new old small big” | wc -w
wc -m统计字符数量.注意Linux文档每行结尾有一个不显示的$符号echo “h” | wc -m
其结果是2,实际上包含的字符是h$
echo “hellow” | cat -E
wc -L统计有多少个字符whoami | wc -L

tr

tr可以调整输出在屏幕上的内容,不会改变原文件的内容

命令作用示例
tr替换标准输入中的大小写echo “this is linux” | tr ‘[a-z]’ ‘[A-Z]’
把小写的a-z替换为大写的A-Z
tr -d删除标准输入中的一些内容echo “hellow 123” | tr -d ‘[a-z]’
echo “hellow 123” | tr -d ‘a-z’
echo “hellow 123” | tr -d ‘0-9’
tr ‘a’ ‘A’ < test.txt将test.txt中的所有’a’替换为’A’输出在屏幕上,并不会改变原文件的内容,只是改变了输出在屏幕上的内容tr ‘0-9’ ‘A’ < test.txt
tr -s删除连续重复的字符echo “iiiiiiii aaaaammmm ssss” | tr -s ‘iams’
删除连续重复的i,a,m,s字符

stat

stat命令可以查看文件更加详细的信息

stat test.txt

find

命令作用示例
find -name根据文件名搜索find / -name test.txt
find -maxdepth指定最大搜索的目录层次find /opt -maxdepth 3 -name “*.txt”
find +通配符搜索带有指定特征的文件find . -name “[0-9]*”
在当前目录下寻找以0-9开头的文件
find -type d指定寻找文件夹find . -type d -name “[0-9]*”
find -type f指定寻找普通文件find . -type f -name “*.txt”
find …… -delete找到指定文件,进行删除操作find . -type d -name “[0-9]*” -delete
find -atime查找在特定时间段内被访问的文件find . -type f -atime -2
在2天内被访问过的文件
find . -atime 2
恰好两天之前访问的文件
find . -atime +2
超过2天被访问的文件
find !进行反向查找,取反操作find . -maxdepth 1 ! -type d
查找当前目录下深度为1并且不是目录的内容
find -size根据文件的大小查找find . -size +30M
find / -size +10k -size -50k
find -path …… “dir” -prune忽略某个文件夹,在此文件夹以外的范围查找find . -path “./newdir” -prune -o -name “*.txt” -print
-o表示取并集
find -ok对找到的文件进行操作,并且询问find . -type f -name “[0-9]*” -ok rm -f {} \;
find -exec对找到的文件进行操作,不询问find . -type f -name “[0-9]*” -exec ls -l {} \;

xargs命令

xargs命令又被称为管道命令,构造参数。

命令作用示例
xargs <将文件中的内容进行一行输出xargs < test.txt
xargs -n <将原来文件中的n行作为一行输出在屏幕上xargs -n 3 < test.txt
xargs -d指定分割符号echo “1,2,3,4,5,6,7” | xargs -d “,” -n 3
xargs -i可以使用{}替代传输的文本find . -name “*.txt” | xargs -i mv {} dirtest
xargs -I可以使用字符串代替需要操作的文件find . -name “*.txt” | xargs -I alltxt mv alltxt newdir

三、Linux中好玩的指令

1.小火车

使用yum install -y sl可以安装小火车
使用sl就可以让小火车跑起来了
在这里插入图片描述

2.盒子

使用yum install boxes可以安装盒子,打印出不同的图形
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.Linux_logo

yum install linux_logo可以安装linux的logo
使用linux_logo就可以把logo打印出来
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值