ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux常用基本命令

2022-08-17 19:04:11  阅读:141  来源: 互联网

标签:文件 常用 查看 用户 命令 Linux 进程 目录


​ Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。Shell 可以看作是一个命令解释器,为我们提供了交互式的文本控制台界面。它接收用户输入的命令并把它送入内核去执行。

1、帮助命令

1.1内建命令与外部命令

​ 一部分基础功能的系统命令是直接内嵌在 shell 中的,系统加载启动之后会随着 shell 一起加载,常驻系统内存中。这部分命令被称为“内置(built-in)命令”;相应的其它命令 被称为“外部命令”

1.2 man命令

​ 1)man基本语法

​ man [命令或配置文件] (获得帮助信息)

​ 得到的内容比用 help 更多更详细,而且 man 没有内建与外部命令的区分。

​ 2)显示说明

image

1.3 help命令

​ 1)基本语法

​ help 命令(获得 shell 内置命令的帮助)

​ 2)说明

​ 用于显示 shell 内建命令的简要帮助信息。帮助信息中显示有该命令的简要说明以及一些参数的使用以及说明。一定要是内建命令,不然会出错误。

2、文件目录

  1. pwd 显示当前目录的绝对路径;

  2. exit:退出当前的shell。

  3. cd 切换路径,cd .. 回到当前目录的上一级目录;

  4. ls 列出目录的内容,ls -a 全部的文件,连同隐藏档,ls -l 等同于ll 文件的全部详细信息;

  5. mkdir 文件夹名称 :创建一个新的文件夹,mkdir -p a/b/c :创建多层文件夹;

  6. rmdir 要删除的空文件夹 :删除空文件夹;

  7. touch 文件名称 :创建空文件;

  8. cp e a/ 复制文件或目录 ,把e复制到a文件夹下(复制到文件就是覆盖文件内容,强制覆盖不提示的方法:\cp

    image

    cp -r a/ r/ :递归复制整个文件夹(把a文件夹及其所有子文件夹和文件复制到r文件夹下);

    image

  9. rm 要删除的名称 :删除文件,rm -r:递归删除文件夹中所有的内容。rm -f:强制执行删除操作,不提示用于进行确认。rm -v:显示指令的详细执行过程,(非专业人士谨慎操作-牢底坐穿:rm -rf/*);

  10. mv u c/ :移动文件或文件夹,把u移动到c文件夹下;image

    mv hello word :把hello 名称改为word;

  11. cat 文件名 :查看文件内容(直接打印出来),cat -n 要查看的文件名:显示行号的查看文件内容(直接打印出来);

  12. more 文件名:文件内容分屏查看器(基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件 的内容);

  13. less 文件名:分屏显示文件内容(比 more 指令更加 强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后 才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。);

  14. echo 输出内容:输出内容到控制台;

  15. ls > p:> 输出重定向和 ,功能描述:列表的内容写入文件(没有则自动创建)中(覆盖写)

    image

  16. ls >> farme/k : >> 追加 ,列表的内容追加到文件的末尾;

    image

  17. echo “内容” >> 文件名:用echo将内容追加到文件中;

    image

  18. head 文件名 :查看文件头10行内容,head -n3:查看文件前3行内容,可以是任意行数;

  19. tail 文件名:查看文件尾10行内容,head -n3:查看文件尾3行内容,可以是任意行数;

  20. tail -f 文件名:实时追踪该文件的所有更新(ctrl+c退出监控,ctrl+暂停监控,ctrl+q继续);

  21. ln -s 原文件或目录 软链接名:给原文件创建一个软链接,软链接也称为符号链接,类似于 windows 里的快捷方式,有自己的数据块,主要存放 了链接其他文件的路径。
    image

  22. rm -rf 软链接名 :删除软链接,而不是 rm -rf 软链接,如果使用 rm -rf 软链接名/ 删除,会把软链接对应的真实目录下内容删掉;

  23. history :查看已经执行过历史命令,history 3:显示最近的3条历史命令,history -c:清楚历史命令,输入history后继续输入!历史记录行号 :可以调用指令;

3、时间日期

  1. date:显示当前时间;

  2. date +%Y :显示当前年份 ,date +%m :显示当前月份,date +%d :显示当前是哪一天 ,date "+%Y-%m-%d %H:%M:%S" :显示年月日时分秒。

    image

  3. date -d '1 days ago' :显示前一天时间,date -d '-1 days ago' :显示明天时间;

  4. date -s "2001-12-08 08:08:08":设置系统时间为2001-12-08 08:08:08;

  5. cal : 显示本月日历,cal 2001:显示2001年的日历,cal -3:显示前后三个月的日历;

4、用户管理

  1. useradd 用户名:添加新用户,useradd -g 组名 用户名:添加新用户到某个组;

    image

  2. passwd用户名 :设置用户密码;

  3. id 用户名:查看用户是否存在;

  4. cat /etc/passwd:查看创建了哪些用户(cat:打印,less:分屏浏览);

  5. who am i :显示登录用户的用户名以及登陆时间;

  6. su 用户名称 :切换用户,只能获得用户的执行权限,不能获得环境变量;

  7. su - 用户名称 :切换到用户并获得该用户的环境变量及执行权限;

  8. sudo 设置普通用户具有root权限

    1. 在root用户下修改配置文件:vim /etc/sudoersimage

    2. 大概91行,在root下面复制一行,将需要增加root权限的用户名替换一下;

      image

    3. :wq!强制保存退出;

      image

  9. userdel 用户名 :删除用户但保存用户主目录,userdel -r 用户名 :用户和用户主目录,都删除;

  10. usermod -g 用户组 用户名:修改用户的初始登录组,给定的组必须存在。默认组 id 是 1;

  11. cat /etc/group :查看创建了哪些组;

  12. groupadd 组名:新增组;

  13. groupdel 组名:删除组;

  14. groupmod -n 新组名 旧组名:修改组名;

5、文件权限

​ Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。 为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做 了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属 的用户和组

image

1.从左到右的 10 个字符:

image

如果没有权限,就会出现减号- 而已(跟一个字符没关系)。

2. 从左至右用0-9这些数字来表示:

  1. 0 首位表示类型:- 是普通文件,d 是目录,l 链接文档(link file),p是管理文件,b是块设备(硬盘),
  2. 1-3位确定属主(该文件的所有者)拥有该文件的权限;--User
  3. 4-6位确定属组(所有者的同组用户)拥有该文件的权限;--Group
  4. 7-9位确定其他用户拥有该文件的权限;--Other

3. rwx 作用文件和目录的不同解释:

  • rwx作用到文件
    1. r代表可读(read):可以读取,查看
    2. w代表可写(write):可以修改,但不是代表可以删除文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
    3. x代表可执行(execute):可以被系统执行
  • rwx作用到目录
    1. r代表可读(read):可以读取,ls查看目录内容
    2. w代表可写(write):可以修改,对目录内创建+删除+重命名目录
    3. x代表可执行(execute):可以进入该目录

4. 文件基本属性介绍

image

5. 修改权限

  • +、-、= 变更权限。

    语法:chmod [{ugoa}{+-=}{rwx}] 文件或目录

    image

    u, g, o 来代表三种身份的权限,a表示所有人(u、g、o 的总和),+(加入)、-(除去)、=(设定)

    chmod u+w p:表示把p文件的属主权限增加了读取;

    image

  • 通过数字变更权限

    r=4 w=2 x=1 rwx=4+2+1=7 三个权限(r/w/x)分数是需要累加的;

6. 修改所有者

一般文件的创建者,谁创建了该文件,就自然的成为该目录的所有者;

ls -ahl:查看文件的所有者;

chown 用户名 文件名:修改文件所有者;

chown [选项] [最终用户] [文件或目录] :修改文件或者目录的所有者;

image

chown -R langang p :递归修改文件所有者(所有子文件和子目录修改);

7. 修改所属组

chgrp [最终用户组] [文件或目录]:修改文件或目录的所属组;

image

6、搜索查找

1.find [搜索范围] [选项]

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。

  • -name<查询方式>:按照指定的文件名查找模式查找文件;(find test/ -name "*.txt":查找后缀名);image

  • -user<用户名>:查找属于指定用户名所有文件;

    image

  • -size<文件大小>:按照指定的文件大小查找文件,单位为:

    b —— 块(512 字节)

    c —— 字节

    w —— 字(2 字节)

    k —— 千字节

    M —— 兆字节

    G —— 吉字节;

    find home/ -size +1M :在home目录下查找大于1M的文件,(+n 大于,-n小于,n等于);

    image

2.locate 搜索文件( 快速定位文件路径)

由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创 建 locate 数据库。

image

3.which 命令

搜索某个系统命令的位置,并且返回第一个搜索结果。

image

4.grep 选项 查找内容 源文件

文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查,打印匹配到的行.

image

-n:显示匹配行及行号。grep -n hello ts1:在ts1文件里查找hello字符,显示行号的打印出来;

管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。

image

7、压缩和解压

1.gzip/gunzip压缩

gzip 文件 :压缩文件,只能将文件压缩为*.gz 文件,

gunzip 文件.gz :解压缩文件命令

image

只能压缩文件不能压缩目录,不保留原来的文件,同时多个文件会产生多个压缩包;

2.zip/unzip 压缩

zip [选项] 名字.zip 将要压缩的内容 :压缩文件和目录的命令。

unzip [选项] 名字.zip :解压缩文件。

选项:zip -r 压缩后名称 要压缩的文件或目录:压缩目录。

unzip<压缩文件> -d 存放目录<目录>:指定解压后文件的存放目录。

! zip 压缩命令在windows/linux都通用,可以压缩目录且保留源文件。

image

3.tar打包

tar [选项] 名称.tar.gz 将要打包进去的内容:打包目录,压缩后的 文件格式.tar.gz

选项:-c: 产生.tar 打包文件

-v:显示详细信息

-f:指定压缩后的文件名

-z:打包同时压缩

-x:解包.tar 文件

-C:解压到指定目录

8、磁盘查看和分区

1.tree

tree命令用于以树状图列出目录的内容。

执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

安装命令:yum install tree

2.du 查看文件和目录占用的磁盘空间

du 目录/文件 :显示目录下每个子目录的磁盘使用情况;

du -h:以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

du -a:不仅查看子目录大小,还要包括文件;

du -c: 显示所有的文件和子目录大小后,显示总和;

du -s :只显示总和;

du--max-depth=n 指定统计子目录的深度为第 n 层;

3.df 查看磁盘空间使用情况

df :列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况

df -h:以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;

4.lsblk 查看设备挂载情况

lsblk :查看设备挂载情况;

lsblk -f:查看详细的设备挂载情况,显示文件系统信息;

5.mount/umount 挂载/卸载

mount [-t vfstype] [-o options] device dir :挂载设备

umount 设备文件名或挂载点 :卸载设备

选项:

-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。

常用类型有: 光盘或光盘镜像:iso9660 DOS fat16 文件系统:msdos

Windows 9x fat32 文件系统:vfat

Windows NT ntfs 文件系统:ntfs

Mount Windows 文件网络共享:smbfs

UNIX(LINUX) 文件网络共享:nfs

-o options 主要用来描述设备或档案的挂接方式。常用的参数有: loop:用来把一个文件当成硬盘分区挂接上系统;ro:采用只读方式挂接设备 rw:采用读写方式挂接设备; iocharset:指定访问文件系统所用字符;

device 要挂接(mount)的设备;

dir 设备在系统上的挂接点(mount point);

6.fdisk 分区(该功能必须在root用户下进行)

fdisk -l :查看磁盘分区详情

fdisk 硬盘设备名 :对新增硬盘进行分区操作

功能说明:

  1. Linux 分区
    • Device : 分区序列
    • Boot:引导
    • Start:从X磁柱开始
    • End:到Y磁柱结束
    • Blocks:容量
    • Id:分区类型ID
    • System:分区类型
  2. 分区操作按键说明
    • m:显示命令列表
    • p:显示当前磁盘分区
    • n:新增分区
    • w:写入分区信息并退出
    • q:不保存分区信息直接退出

9、进程管理

计算机中,一个正在执行的程序或命令,被叫做“进程”(process)。

启动之后一只存在、常驻内存的进程,一般被称作“服务”(service)。

1.ps 查看当前系统进程状态

ps aux :查看系统中所有进程

ps a :列出带有终端的所有用户的进程

ps x: 列出当前用户的所有进程,包括没有终端的进程

ps u: 面向用户友好的显示风格

ps -e: 列出所有进程

ps -u:列出某个用户关联的所有进程

ps -f :显示完整格式的进程列表

功能说明:

  1. ps aux 显示信息说明
    • USER:该进程是由哪个用户产生的
    • PID:进程的 ID 号
    • %CPU:该进程占用 CPU 资源的百分比,占用越高,进程越耗费资源;
    • %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
    • VSZ:该进程占用虚拟内存的大小,单位 KB;
    • RSS:该进程占用实际物理内存的大小,单位 KB;
    • TTY:该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端,tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。
    • STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、 Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示
    • START:该进程的启动时间
    • TIME:该进程占用 CPU 的运算时间,注意不是系统时间
    • COMMAND:产生此进程的命令名
  2. ps -ef 显示信息说明
    • UID:用户 ID
    • PID:进程 ID
    • PPID:父进程 ID
    • C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算, 执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高;
    • STIME:进程启动的时间
    • TTY:完整的终端名称
    • TIME:CPU 时间
    • CMD:启动进程所用的命令和参数

2.kill 终止进程

kill 进程号 :通过进程号杀死进程

killall 进程名称 :通过进程名称杀死进程,也支持通配符,这 在系统因负载过大而变得很慢时很有用

kill -9 进程号:彻底杀死进程

3.pstree 查看进程树

pstree -p:显示进程的PID

pstree -u:显示进程的所属用户

4.top 实时监控系统进程状态

top -d 秒数:指定 top 命令每隔几秒更新。默认是 3 秒在 top 命令的交互模式当 中可以执行的命令:

top -i:使 top 不显示任何闲置或者僵死进程

top -p:通过指定监控进程 ID 来仅仅监控某个进程

5.netstat 显示网络状态和端口占用信息

netstat -anp | grep 进程号 :查看该进程网络信息

netstat –nlp | grep 端口号 :查看网络端口号占用情况

标签:文件,常用,查看,用户,命令,Linux,进程,目录
来源: https://www.cnblogs.com/DAZKT12/p/16596406.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有