Linux基本命令

文章目录

    • Linux根目录下的文件夹
    • Linux的命令
      • 简单命令
      • ls命令
      • touch命令
      • cp命令
      • mv
      • rm
      • 帮助命令
      • 开关机
      • 命令行快捷键
      • 环境变量PATH
      • vim
        • vim的命令模式的命令
        • vim从命令模式切换到插入模式
        • vim底行模式操作
      • 修改权限,属组,拥有者
      • 重定向
      • cat
      • 常用读取文件的命令
      • cut命令
      • sort
      • uniq
      • wc
      • tr
      • stat
      • find
      • xargs命令
  • 三、Linux中好玩的指令
    • 1.小火车
    • 2.盒子
    • 3.Linux_logo

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 [email protected]
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.txt cp 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 file2 cp直接拷贝软链接时拷贝的是原文件.如果此时的软链接对应的原文件丢失,会直接拷贝失败 cp file.soft file2
cp -d 拷贝软链接.不管原软链接对应的文件是否存在,都可以拷贝软链接 cp -d file.soft new.soft
cp -i cp命令可以将一个文件中的内容覆盖另外一个文件。假设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 [email protected]
%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 <
>> 追加重定向(不具有覆盖性) 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 < 非交互式的向文件中写入内容 cat >> 1.txt <
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 i cut -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就可以让小火车跑起来了
Linux基本命令_第1张图片

2.盒子

使用yum install boxes可以安装盒子,打印出不同的图形
Linux基本命令_第2张图片
Linux基本命令_第3张图片
Linux基本命令_第4张图片

3.Linux_logo

yum install linux_logo可以安装linux的logo
使用linux_logo就可以把logo打印出来
Linux基本命令_第5张图片

你可能感兴趣的:(linux)