一文总结Linux常用命令

引言

本篇文章分不同种类的用途简单介绍Linux常用命令,主要是对这些命令有些了解,真正掌握需要在日常使用中熟悉记忆。同时,需要注意学习这些命令不要去死记硬背全部命令的所有参数和选项,重要的是分种类了解有哪些命令,在需要的时候知道能用什么命令,然后每个命令记住一些常用的参数,或者善于利用man命令

Unix系统目录结构

  • bin:系统可执行程序存放位置
  • boot:内核和相关文件
  • lib:库目录,主要存放动态共享库
  • media:挂载设备,U盘、光驱等
  • mnt:手动挂载文件系统
  • usr(unix system resources):很多应用安装在此目录
  • sbin:超级管理员root的可执行程序
  • proc:系统内存映射,保留进程运行的一些信息
  • etc:系统软件的启动和配置目录
    • /etc/passwd
  • dev:设备文件所在目录
  • home/hickey:用户家目录

查看各种shell

cat /etc/shells:

image-20210819221241876

查看历史命令

history:

image-20210819221351618

ls查看文件信息

ls 命令:

ls /: ls 目录

ls -l:list显示详细信息。

image-20210819222523385

ls -a:显示隐藏文件或目录(前置.)。

image-20210819222720646

ls -R:递归显示子目录。

image-20210819222813779

ls -lrt:按时间排序。

ls main.*:*代表任意多个字符。

ls main.?:?代表任意一个字符。

ls -l显示的信息解释:

file type:

  • -普通文件

  • d目录文件

  • l符号链接

  • b块设备文件

  • c字符设备文件

  • p管道文件

  • s本地套接字文件

目录相关命令

cd

切换到制定路径:

image-20210819223202796

切换到上级目录:

cd ..

image-20210819223326491

回到根目录:

cd ~

image-20210819223416310

cd $HOME

image-20210819223913127

pwd查看当前工作目录

image-20210819223934540

mkdir创建目录

默认只能创建单级目录,即父目录不存在则无法创建。

mkdir -p:使用-p参数表示递归创建目录,父目录若不存在则创建父目录。

rmdir移除目录

只能删除非空目录。

连带删除父目录:rmdir -p

which查看命令所在路径

which rm:查看rm命令所在路径。

tree树形查看目录

tree /home:(tree命令需要安装)

image-20210819225121403

普通用户和超级用户前缀

普通用户:$

超级用户:#

image-20210819223617264

文件操作相关命令

touch创建文件

touch hello.c

touch a b c:亦可创建多个文件。

若文件不存在,则创建;若文件已经存在,则只更改文件的访问时间。

rm移除文件

rm:移除目录或文件。

rm -r:递归删除子目录。

rm -rf: 强制删除目录下全部内容。

cp复制文件或目录

cp 文件 目录:保留源文件名,拷贝到目录下。

cp 文件 文件:更改文件名,拷贝。

cp -r 目录1 目录2:若目录2存在,将整个目录1(包括子目录)拷到目录2下;若目录2不存在,则将整个目录1拷贝,并重命名为目录2。

mv移动文件或目录

除不保留源文件外,其他注意与使用同cp

文件内容相关命令

cat查看文件内容

cat:适用于文件较小时,直接终端上显示全部文件内容。

image-20210820104447199

more、less查看文件内容

more:可以分屏显示文件内容。

	- `空格键`下一页。
	- `enter`下一行。	

image-20210820104644010

image-20210820104659483

less:也可以分屏显示文件内容,但比more多的是可以回退,即上下查看。

  • 上下键
  • 回车键

head、tail查看文件头尾

head:查看文件头部内容,默认显示10行。

  • 通过-n参数制定行数。

image-20210820105108271

image-20210820105335711

tail:查看文件尾部内容,默认显示10行。

  • 通过-n参数制定参数。

  • 通过-f参数跟踪文件末尾,当文件发生变化时,会更新显示。

显示文件统计信息

wc统计文件内容(word count)

wc 文件名:默认显示行数、单词数、字节数。

  • 通过-l显示行数(line)
  • 通过-w单词数(word)
  • 通过c显示字节数

image-20210820105913934

du查看目录占用空间

通过-h参数制定人类友好识别方式显示。

df查看磁盘使用情况

软硬链接、文件权限和用户组相关命令

ln建立软硬链接

ln默认建立硬链接。

  • 通过-s(soft)参数创建软链接。

创建硬连接后,硬链接计数加1:

建立硬链接

创建软链接后,不影响硬链接计数:

image-20210820112239933

unlink删除软硬链接

软硬链接皆可删除。

chmod改变文件权限

chmod u +-rwx :当前用户加减权限。

chmod g +- rwx:组加减权限

chmod o +- rwx:其他用户加减权限

chmod a +-rwx:所有用户加减权限

亦可用数字的方式更改权限:

chmod 644 文件名

chown、chgrp改变文件所有用户或组

chown:只修改所有用户或者同时修改所有用户和组。

PS:需要root用户权限,用sudo命令可以执行。

例子:

image-20210820120122673

chgrp:修改所有者组。

例子:

image-20210820120312501

查找和检索相关命令

find查找文件

find dir [option] target

dir指定查找路径,target指定查找目标。

  • -maxdepth:指定查找的层次,若不指定该参数,find默认从当前路径递归查找

  • -name:按名字查找,target表示目标文件名

  • -type:按类型查找,target代表目标文件类型,可以是f、d、l、p、s、b、c(分别代表普通文件、目录文件、符号链接、管道、本地套接字、块设备文件、字符设备文件)

  • -size:按大小查找,+1M(M大写)、-5M+1k(k小写)、-3k-6G(G大写)。同时指定大小上下限则需要使用两次-size。

  • -exec 命令 {} \;:使用查找的结果作为后续命令的输入

  • -ok 命令 {} \;:使用查找的结果作为后续命令的输入,相对安全,每一条指令都提示。

  • 使用管道与xargs:使用查找的结果作为后续命令的输入,与使用-exec-ok不同的是,-exec-ok在查找的结果太多时,缓冲区移除会报错,而xargs会分块输入,解决了这个问题。

按名字查找:

image-20210820170504297

按类型查找:

image-20210820171434125

按大小查找:

image-20210820171708019

指定查找层次数:

image-20210820171745056

使用后继命令:

image-20210820172416350

使用安全模式后继命令:

image-20210820172446288

使用管道与xargs执行后续命令:

image-20210820173259031

grep按内容查找

grep 关键内容 查找目标:内容指定查找的关键字,查找目标指定在哪个文件中查找。

  • -v:反选,过滤掉带关键内容的行。
  • -n:显示行号

image-20210820174537216

反向过滤:

image-20210820174748333

显示行号:

image-20210820175351147

image-20210820175624769

压缩包管理

zip、uzip压缩解压z文件

生成.zip文件,使用方法:

  • 压缩:zip [option] 压缩后的压缩包名 指定压缩路径
  • 解压:unzip 压缩包

image-20210820180123755

gzip、gunzip压缩解压文件

生成.gz文件,使用格式:

tar打包、压缩、解压文件

压缩:tar zcvf 压缩包名 原材料

解压:tar zxvf 压缩包名

rar压缩、解压文件

压缩:rar a -r 压缩包名 原材料

解压:rar 压缩包名

软件安装与卸载

apt-get在线安装

更新源:sudo apt-get update 源(实际更新/etc/apt/sources.list)

安装:sudo apt-get install 软件

卸载:sudo apt-get remove 软件

dpkg安装deb安装包

安装:sudo dpkg -i deb安装包

查看已安装软件包:sudo dpkg -l

卸载:sudo dpkg -r 软件名

umask查看权限掩码

权限掩码,创建文件时文件的实际模式=mode&(~umask)

image-20210820184519683

shutdown关机、重启

重启:

  • shutdown -r 默认1分钟后重启
  • shutdown -r +10表示10分钟后重启,可以指定其他分钟数
  • shutdown -r +0等同于shutdown -r now,表示立即重启
  • shutdown -r hh:mm指定重启的时间,即指定24小时:分钟

关机:shutdownshutdown -P,默认1分钟后关机,其他时间设置同上。

睡眠:shutdown -H,默认1分钟后睡眠,其他时间设置同上。

取消上述定时任务:shutdown -c

查看系统相关信息uname

uname命令参数:

  • -a显示全部信息(all,如Linux hickey 5.4.0-47-generic #51-Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
    )
  • -m显示电脑类型(machine,如x86-64)
  • -s显示操作系统名称(sysname,如Linux)
  • -r显示操作系统发行编号(release,如5.4.0-47-generic)
  • -n显示在网络上的主机名称(nodename,如hickey)
  • -v显示操作系统版本(version,如#51-Ubuntu SMP Fri Sep 4 19:50:52 UTC 2020)
  • -p显示处理器类型(processor,如x86_64)
  • -i显示硬件平台(如x86_64)

用户相关w、who、whoami、who am i

w查看已登录用户以及近期进行的操作

who 显示已经登录的用户名、终端名称、登录时间及登录IP

whoami 显示当前有效用户的用户名

who am i 显示登录系统的时候的用户名,即使已经切换到其他用户也显示登录时的用户

用户管理

adduer与useradd

adduer不光新建用户,而且要求输入密码,并且会在home目录下新建对应的用户目录文件。但useradd只新建用户。
如下图:

userdel

userdel 用户名:只删除用户,而不删除home/下的对应用户目录。
userdel -r 用户名:删除用户,并且删除对应的home/下的用户目录。

文件系统管理

df与du

du默认递归显示当前目录下的所有文件和目录占用的磁盘空间情况,但目录下的文件占用算到目录上,而只显示目录所占:

加上-a参数则在默认的显示上,加上各文件所占用的磁盘情况,如下:

df显示文件系统占用情况,如下:

mount与umount

网络配置

启动配置

posted @ 2021-08-21 16:33  HickeyZhang  阅读(82)  评论(0编辑  收藏  举报