Linux指令

文章目录

  • 1. 目录命令
    • ls命令 显示目录下文件
  • 2. 文件命令
    • df命令 查看文件大小:
    • cp命令 拷贝文件/目录
    • mv命令 移动/重命名
    • cat、more命令 查看文件内容
    • less命令 分页查看文件
    • rm命令 删除/复制/移动
  • 3. 查找命令
    • find命令 查找文件
    • 搜索指令:locata
    • grep命令 文件内搜索
  • 4. 压缩与解压缩命令
    • gzip/gnzip命令 .gz格式文件
    • tar命令 .tar.gz格式文件
    • rar和zip命令 .rar和.zip格式文件
  • 5. 网络管理命令
    • “w命令”查看用户登录详细信息
    • ifconfig命令 查看和设置网卡信息
    • last命令 列出所有登入系统的用户信息
    • traceroute命令 显示数据到主机的路径
    • netstat命令 显示网络信息
  • 6. 进程管理命令
    • ps命令 查看系统中所有进程
    • top命令 查看系统健康状态
    • kill命令 终止进程
    • pkill命令 管理系统用户
  • 7. 关机命令
    • shutdown命令
  • 8. 其他
    • 路径的概念
    • 查看命令(手册/位置)
      • 命令手册:
      • 命令所在位置:
    • 用户管理及权限管理
    • 软连接

1. 目录命令

ls命令 显示目录下文件

指令常用:ls -alth

  • -l:表示list,表示以详细列表的形式进行展示
  • -a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)
  • -h:表示以可读性较高的形式显示,同时文件大小用k表示

关于用户组权限

drwxr-xr-x

  • 第一个字母:文件类型

    • -:二进制文件;d:目录;l:软链接文件
  • 后九个字母:以三个字母为一组,表示用户组权限(所有者u、所属组g、其他人o)

    • r:读;w:写;x:执行;-:表示无相关权限

.开头的文件都是隐藏文件,隐藏文件是配置文件,是为了防止修改

ls的通配符:补充:Linux之通配符

符号 作用
* 代表0或者任意多个字符
代表一个字符
[abcd] abcd中的一个字符
[a-z] a到z的一个字符

多个文件的编辑:echo
linux中文件的后缀可以加可不加,加上方便识别,在linux中很多文本是没有任何后缀的

指令 作用
echo xxx > xxx.txt 写入(覆盖)
echo xxx >> xxx.txt 追加(末尾)
ls > xx.txt 查询结果覆盖xx文件中
ls >> xx.txt 查询结果追加在xx文件中
ls -lh > xx.txt 格式化的查询结果覆盖在xx文件中

例如
若需要把结果都存放在一个文件

./a.out >> test.txt &
    //&表示在后台运行

管道

  • 把一个命令的输出,通过管道连接,作为另一个命令的输入
  • 管道连接通过 | 建立。

例如

grep -v ^'#' /etc/services | more //分页显示
ls -lh | grep 125 //在模糊搜索结果中查找文件内容包含125的文件

2. 文件命令

df命令 查看文件大小:

df -h /opt

cp命令 拷贝文件/目录

拷贝文件夹到指定目录:

cp -r myfolder/ ../testcpp/

cp指令 带rf参数表示:
Linux指令_第1张图片

mv命令 移动/重命名

移动文件/文件夹:

mv myfolder ../testcpp/

重命名文件:

mv myfile myfile01

cat、more命令 查看文件内容

查看文件内容:cat和more

指令 作用
cat xx.txt 显示所有文件内容
cat -b xx.txt 显示行号 去除空行
cat -n xx.txt 显示行号 包含空行
more xx.txt 分页显示文件内容 下一页(空格) 上一页(b) 下一行(Enter)

less命令 分页查看文件

分页查看文件:less

操作:

  • 向下翻页:空格或 f
  • 向上翻页:PageUp
  • 下一行:Enter或↓
  • 上一行:↑
  • 退出:q
  • 搜索:/ <搜索项>,n 下一项

rm命令 删除/复制/移动

命令选项 说明
-i 交互式提示
-r 递归删除目录及其内容
-f 强制删除,忽略不存在的文件,无需提示
-d 删除空目录

删除目录(文件夹)需要带 -r
复制目录(文件夹)需要带 -r
移动目录(文件夹)不需要带 -r

很少使用rmdir

3. 查找命令

find命令 查找文件

  1. 以文件名查找文件:find -name
    • 不区分大小写:-iname
示例一:find /home -name 123 //精确搜索
示例二:find /home -name 123* //模糊搜索 通配符,其他用法:*123* 123??
示例三:find /home -iname abc //选项-i 不区分大小写
示例四:find / -size +204800 //根据文件大小搜索,1数据块=512字节Byte=0.5KB
							//-204800 204800 // 100MB 100*1024KB 100*1024*2*数据块
示例五:find /home -user siki//根据用户名查询
示例六:find /home -mmin -5  //文件内容上次被修改时间在5分钟以内
							//mmin上次文件内容被修改时间
							//amin 上次文件被访问时间
							//cmin 上次文件属性(文件的权限)被修改时间
							//-5 5分钟以内 +5超过5分钟
示例七:find /home -type f	//-type文件类型 f文件d目录(文件夹)l软链接文件(Link)
示例八:find /home -name 123 -a -size +5 //-a and同时满足 -o or或者,满足其中一个即可
示例九:ls -i //先展示用户id,
		find /home -inum 343//然后根据用户id查询
示例十:find /home ! -name "*.txt" //找出/home下不是以.txt结尾的文件

  1. 按照文件大小查找:find -size [+\-]

  2. 按照文件类型查找:find -type

    • f:文件;d:目录;l:软链接文件
  3. 额外选项

    • -a:两个条件都满足

    • -o:两个条件满足一个即可

    • 对搜索结果执行操作:-exec {} \;

$ find /etc -name init* -exec ls -l {} \;

搜索指令:locata

  • 优点:查找快,因为它搜索的是自己的索引库
  • 缺点:最新文件找不到(需要时间更新索引库)

需要手动更新索引库

sudo updatedb //命令前面加sudo表示通过管理员方式运行

grep命令 文件内搜索

  1. 在文件内搜索指定内容并显示:grep [option]
指令 作用
grep -n xx xx.txt 显示包含内容行的行号
grep -w xx xx.txt 整词查找xx内容
grep -v xx xx.txt 去掉包含xx内容的行,显示其他所有内容
grep -v # xx.txt 去掉带#的行(去掉带注释的行)
grep -v ^# xx.txt 去掉只有注释的行
grep #$ xx.txt 去掉以#结尾的行, ^x开头的行 x$以x结尾的行
grep -i xx xx.txt 忽略大小写搜索
$ grep -in helloworld main.cpp
6:    cout << "HelloWorld!" << endl;

一般使用命令:grep abc * -nwr

4. 压缩与解压缩命令

参考博文:Linux压缩与解压【tar】

gzip/gnzip命令 .gz格式文件

  1. 压缩文件为.gz格式:gzip

    • 注意:gzip只能压缩文件,且会删除原文件
  2. 解压.gz格式的压缩文件:gnzip

tar命令 .tar.gz格式文件

tar选项:

  • -c:打包
  • -x:解包
  • -v:显示详细信息
  • -f:指定文件名
  • -z:压缩/解压缩
  1. 压缩文件为.tar.gz格式:tar -zcf

  2. 解压.tar.gz格式的压缩文件:tar -zxf

rar和zip命令 .rar和.zip格式文件

rar testcpp/ testcpp.rar
#rar格式的压缩,需要先下载rar for linux
zip testcpp.zip testcpp/
#zip格式的压缩,需要先下载zip for linux

unrar e testcpp.rar
#rar格式的解压缩,需要先下载rar for linux
unzip testcpp.zip
#zip格式的解压缩,需要先下载zip for linux

5. 网络管理命令

“w命令”查看用户登录详细信息

 03:36:33 up 3 min,  1 user,  load average: 0.99, 0.81, 0.35
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
book     :0       :0               03:35   ?xdm?  25.17s  0.00s /usr/lib/gdm3/g

参数解释:

  • tty:本地登录;pts远程终端
  • up:系统连续运行的时间
  • load average:系统负载
  • IDLE:累计空闲时间
  • JCPU:占用CPU时间

ifconfig命令 查看和设置网卡信息

语法:ifconfig <网卡名称>

last命令 列出所有登入系统的用户信息

last命令 列出所有登入系统的用户信息

traceroute命令 显示数据到主机的路径

类似于ping,但是提供更详细的输出
需要安装:sudo apt install traceroute

查询网络链路通畅

$ traceroute www.baidu.com
traceroute to www.baidu.com (110.242.68.3), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  2.220 ms  2.335 ms  2.509 ms
 2  192.168.10.1 (192.168.10.1)  4.864 ms *  9.310 ms

类似的工具还有:网络测试工具——tcping

netstat命令 显示网络信息

语法:netstat [options]
options:

  • -t : tcp协议
  • -u : udp协议
  • -l : 监听
  • -r : 路由
  • -n : 显示IP地址和端口

通过查看开启端口进而查看本机开启的服务:netstat -tlun

查询已连接的服务:netstat -an

查询网关:netstat -rn

6. 进程管理命令

ps命令 查看系统中所有进程

语法:ps aux

查看系统中所有进程,使用BSD操作系统格式

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0 166764 11756 ?        Ss   15:17   0:01 /sbin/init sp
dyx         4599  0.0  0.0 33575880 3448 ?       Sl   15:22   0:00 /opt/google/c
dyx         7953  0.0  0.0  19928  5308 pts/0    Ss   16:00   0:00 bash
dyx         7971  0.0  0.0  21340  3472 pts/0    R+   16:01   0:00 ps aux

参数解释:

  • USER:用户
  • PID:进程PID
  • %CPU:占用CPU资源百分比
  • %MEM:占用物理内存百分比
  • VSZ:占用虚拟内存的大小,单位KB
  • RSS:占用物理内存的大小,单位KB
  • TTY:该进程是在哪个终端运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地字符界面终端,tty7是图形终端。pts/0-256代表虚拟终端。
  • STAT:进程状态。R:运行,S:睡眠,T:停止状态,s:包含子进程,+:位于后台
  • START:进程起始时间

top命令 查看系统健康状态

语法:top [options]

options:

  • -d:更新秒数,默认是3秒

在top命令的交互模式下,按:

  • P:CPU使用率排序,降序
  • M:内存使用率排序
  • N:PID排序
  • ?或h:帮助
  • q:退出

load average:系统在之前1分钟、5分钟、15分钟的平均负载

87.5 id:空闲CPU所占百分比

kill命令 终止进程

语法:kill [信号] [进程号]

常用命令:

重启进程:kill -1 [进程号]

强制杀死进程:kill -9 [进程号]

pkill命令 管理系统用户

按照终端号踢出用户步骤:

查询本机已登录的用户:w

强制终止从终端号登录的进程:pkill -t -9 [终端号]

7. 关机命令

shutdown命令

语法:shutdown [options] [time]

options:

  • -h : 关机
  • -r : 重启
  • -c : 取消前一个关机命令

time:

  • now : 现在
  • hh:mm : 指定时间

8. 其他

路径的概念

  • 相对路径:相对于当前目录
  • 绝对路径:从根路径开始完整的路径 (从\和~开始的路径都是绝对路径)

查看命令(手册/位置)

命令手册:

1. cmd -help
2. man cmd (manual手册)
3. help cd (有些指令在不会放在man)

man 1是普通的shell命令比如ls,

man 2是系统调用比如open,write说明,

man 3是函数说明,

命令所在位置:

which cmd

如果which cmd为空则表示该命令式shell内置的命令

什么是内置命令:
内置命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。而外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。大部分内置命令都是内置在shell中的,也有一些内置命令有自己单独的文件。系统启动,会把shell中的内置命令,其他其他不在shell中的内置命令加载到内存中用户输入命令会首先提交给shell,判断是否为内置命令

查看所有shell

cat /etc/shells #查看所有shell

shell存放的位置结果:

1./bin/bash 
2./usr/sbin/nologin 
3./bin/sh (我们创建用户的时候的shell)

修改shell:

chsh命令 #修改shell

查看当前系统的命令是否为内置命令和外部命令。

type 指令 

用户管理及权限管理

添加用户名

sudo useradd 用户名 (-m:创建家目录 和 -g:指定所在的组 选项)
  • 所在组即用户创建之后会有一个同名的组,若新增用户需要指定分组,此组必须存在

设置密码(不设置用户名的用户是不能使用的)(注意是passwd不是password)

sudo passwd 用户名

查看用户是否添加成功:

cat /etc/passwd #etc是配置文件,存储当前系统有哪些用户,以及用户密码(passwd在影子文件里面)

查询结果包含:
1,用户名
2,密码标志
3,UID
4,GID
5,用户全名
6,家目录
7,使用的shell

影子文件包括:用户影子文件和用户组影子文件

cat /etc/shadow #!表示还没有密码
cat /etc/gshadow

查看文件信息或用户信息:

ls -i #查看当前路径下所有文件id
id 用户名	#查看该用户名的uid和gid
id 无用户名 #查看当前用户uid和gid
whoami #当前登录用户
who #当前所有登录用户罗列出来

修改当前用户密码:

passwd

用户组

  • 每个用户都有一个初始组,可以有零个或者多个附加组。用户组的作用,是为了方便权限控制。(附加组就是为了给用户附加别的权限)
  • 当创建用户的时候,系统会创建一个跟用户名同名的组。
  • 文件属性包含:所属用户、所属用户组

用户切换

su 用户名 #用户切换但回到root目录,cd ..可以返回到根目录下
su - 用户名 #用户切换并回到家目录
exit #退出当前用户,返回上一个用户(从哪个用户切换过来的)如果没有上一个用户,直接退出终端
ctrl+d #等效于exit

用户删除

userdel 用户名 #删除用户
userdel -r 用户名 #删除家目录
userdel -f 用户名 #强制删除,即使用户正在登陆系统

用户组管理

groupadd 用户名 #添加
groupmod -n 新用户名 用户名 #改名
groupdel 用户名 #删除

确认组是否被添加成功

cat /etc/group #确认组是否被添加成功

查询结果包含:
1,组名
2,组密码标志
3,GID
4,组中附加用户

修改用户信息(usermod)(某些需要重新登录生效)

usermod -g xxgroup xxuser 修改初始组(基本不去修改)
usermod -G xxgroup,xxgroup xxuser 修改附加组,是覆盖
usermod -s /bin/bash xxuser 修改shell

用户权限(文件对用户来说的权限,用户操作文件或者文件夹的权限)

输入ls -l
   u   g    o
- --- --- ---

第一列:
1. a表示文件类型 
2.-二进制文件(包括不限于文本文件) 
3.d目录(文件夹) 
4.l(软连接文件)

第二三四列:(九个字符分三组)
1.u(user)所有者 
2.g(group)所属组 
3.o(other)其他用户

r读写 w写 x执行

权限修改(只有文件所有者和超管可以修改文件的权限)

格式一
chmod [ugoa][+-=][rwx] 文件或者目录
chmod u+w,g+x xx.txt #augo分别表示all(所有人),user(用户),group(组),other(其他用户)

格式二
用数字表示权限 r=4 w=2 x=1
比如:r--rw-rwx 467
chmod 651 xxfile
chmod -R 777 xxfile #-R 递归修改所有子文件
chmod -x xxfile #删除可执行权限
chmod -x xxfile #添加可执行权限

chown(change owner)修改拥有者(所属者)
chgrp(change group)修改拥有组(所属组)
文件的所属者和所属组发生改变,用户对文件的权限也发生改变

chown newuser 文件/文件夹 #修改文件或者文件夹的拥有者
chgrp newgroupname 文件/文件夹 #修改文件或者文件夹的所属组

注意:一个文件(文件夹)改名、删除的权限是由它所在目录的权限控制的,而不是自身的权限控制。因为它自身的权限只控制它自身的内容(是否可读可写可执行)。

权限 文件 文件夹(目录)
r 读read 查看文件内容 可以列出目录中的内容(仅限于名字)
w 写write 修改文件内容 可以在目录中创建、删除文件(包括修改文件名字)
x 执行execute 可以执行运行文件 可以进入目录(不能查看目录内容)

软连接

文件软链接

ln 文件/文件夹 软链接

软连接:在当前目录下重命名该文件/文件夹

补充:
10分钟让你掌握Linux常用命令(+1.4万+++收藏)
linux常用命令

你可能感兴趣的:(linux,windows,服务器)