linux 高级命令2

linuxC高级day2

  • 系统维护命令

1、man man:查看man手册

//man手册的前三个章节
第一个章节:shell命令
第二个章节:系统调用
第三个章节:C库(库文件)

2、sudo passwd 用户名:修改用户密码

  1. su:切换用户

su:默认切换到root用户;

sudo su 用户名 指定切换到某用户;(sudo:临时管理员命令)

exit :退出切换的用户;

  1. echo"输出内容":向终端输出内容,默认换行

echo -n "输出内容"   输出不换行

5、date查看当前系统日期

date -s  年/月/日 更改当前日期

date -s  时:分:秒 更改当前时间

6、claer:清屏

7、df-Th/df -h    查看磁盘空间

二、用户管理命令

sudo adduser 用户名:添加用户

给用户添加sudo权限:

切换到超级管理员身份:sudo su
给用户添加 sudo 权限:sudo vi /etc/sudoers
添加:用户名 ALL=(ALL:ALL) ALL

sudo deluser --remove-home 用户名:删除用户

三、进程管理命令

进程:是程序的一次运行过程,是动态。

程序:存放在磁盘空间上的可执行文件,是静态

1、ps 查看进程状态

ps -aux

USER(用户)  PID(进程id)  %CPU  %MEM  VSZ  RSS  TTY(终端 ?:不依赖终端) STAT(状态) START  TIME  COMMAND

PID:是唯一标识进程的id号

ps -ef:可以查看父进程

ps -ajx: PPID PID PGID(组id) SID(会话id)

man ps
进程状态:
  D    uninterruptible sleep (usually IO)不可中断睡眠态
  R    running or runnable (on run queue)运行态
  S    interruptible sleep (waiting for an event to complete)可中断睡眠态
  T    stopped by job control signal停止态
  t    stopped by debugger during the tracing调试器打断
  X    dead (should never be seen)死亡态
  Z    defunct ("zombie") process, terminated but not reaped by its
       parent僵尸态
       
 <    high-priority (not nice to other users)高优先级
 N    low-priority (nice to other users)低优先级
 L    has pages locked into memory (for real-time and custom I
      锁定到内存中
 s    is a session leader 会话组组长
 l    is multi-threaded (using CLONE_THREAD, like NPTL pthread
      do)线程
 +    is in the foreground process group前台进程

  1. top 动态显示进程状态

在进程管理中,NI通常表示进程的Nice值(Nice Value)。Nice值是用来调整进程优先级的参数,它可以影响进程在系统中的调度顺序

Nice值通常是一个整数,在大多数操作系统中,它的范围通常是-20到+19。较小的Nice值表示进程的优先级较高,而较大的Nice值表示进程的优先级较低

NI:优先级   +19  ~  -20值越小,优先级越高

PR = 20 + NI

在进程管理中,PR通常表示进程的优先级(Priority)。进程优先级是操作系统用来管理和调度进程的一种机制。每个进程都有一个与之相关联的优先级,用于确定进程在系统中的调度顺序。

  1. renice修改正在运行的进程的优先级

sudo renice -n num PID

num:要修改的优先级的值

PID:要修改进程优先级的PID

1. 在hello.c 写一个死循环 并执行
2. 再开一个终端 ps -aux  找到这个正在执行的这个进程的PID
3. top 看一下当前的执行的文件的进程优先级是多少
4. sudo renice -n 优先级值 PID
5. top 看一下当前的优先级是否更改

4、nice 定制优先级运行进程

sudo nice -n num ./可执行文件

  1. kill发送信号

kill -l:查看信号

2) SIGINT    ctrl+c 结束进程
3) SIGQUIT  程序正常退出
4) SIGILL  结束进程
9) SIGKILL	强制杀死进程   不可忽略信号 无条件终止指定进程 
10) SIGUSR1   未定义功能
12) SIGUSR2	 未定义功能
13) SIGPIPE	管道破裂信号
14) SIGALRM	 时钟信号
17) SIGCHLD	 子进程状态发生改变会给父进程发送
19) SIGSTOP	 停止   不可忽略信号

kill num PID:给指定进程发送num信号

结束进程(2号命令)

  • 文件系统命令

1、文件系统类型

磁盘文件系统:指本地主机中实际可以访问到的文件系统,包括硬盘、CD-ROM、DVD、USB存储器、磁盘阵列等。常见文件系统格式有:autofs、coda、Ext(Extended File sytem,扩展文件系统)、Ext2、Ext3、VFAT、ISO9660(通常是CD-ROM)、UFS(Unix File System,Unix文件系统)、ReiserFS、XFS、JFS、FAT(File Allocation Table,文件分配表)、FAT16、FAT32、NTFS(New Technology File System)等;

网络文件系统:是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘文件系统,客户机通过网络远程访问数据。常见文件系统格式有:NFS(Network File System,网络文件系统)、Samba(SMB/CIFS)、AFP(Apple Filling Protocol,Apple文件归档协议)和WebDAV等;

专有/虚拟文件系统:不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)和LOOPBACKFS(Loopback File System,回送文件系统)。

2、linux文件系统

目录名

描述

/

Linux文件系统根目录

/bin

存放系统中最常用的可执行文件(二进制)

/boot

存放Linux内核和系统启动文件,包括Grublilo启动器程序

/dev

存放所有设备文件,包括硬盘、分区、键盘、鼠标、USBtty

/etc

存放系统的所有配置文件,例如passwd存放用户账户信息,hostname存放主机名等

/home

用户主目录的默认位置

/initrd

存放启动时挂载initrd.img映像文件的目录,以及载入所需设备模块的目录。

/lib

存放共享的库文件,包含许多被/bin/sbin中程序使用的库文件

/lost+found

存放由fsck放置的零散文件

/media

Ubuntu系统自动挂载CD-ROM、软驱、USB存储器后,存放临时读入的文件

/mnt

该目录通常用于作为被挂载的文件系统的挂载点

/opt

作为可选文件和程序的存放目录,主要被第三方开发者用来简易地安装和卸装他们的软件包

/proc

存放所有标志为文件的进程,它们是通过进程号或其他的系统动态信息进行标识,例如cpuinfo文件存放CPU当前工作状态的数据

/root

根用户(超级用户)的主目录

/sbin

存放更多的可执行文件(二进制),包括系统管理、目录查询等关键命令文件

/srv

系统提供的特定数据

/sys

虚拟文件系统

/tmp

存放用户和程序的临时文件,所有用户对该目录都有读写权限

/usr

用于存放与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件。以下罗列了/usr中部分重要的目录。

/usr/X11R6

X Window系统

/usr/bin

用户和管理员的标准命令

/usr/include

c/c++等各种开发语言环境的标准include文件

/usr/lib

应用程序及程序包的连接库

/usr/local

系统管理员安装的应用程序目录

/usr/local/share

系统管理员安装的共享文件

/usr/sbin

用户和管理员的标准命令

/usr/share

存放使用手册等共享文件的目录

/usr/share/dict

存放词表的目录

/usr/share/man

系统使用手册

/usr/share/misc

一般数据

/usr/share/sgml

SGML数据

/usr/share/xml

XML数据

/var

通常用于存放长度可变的文件,例如日志文件和打印机文件。以下罗列了/var其中部分重要的目录。

/var/cache

应用程序缓存目录

/var/crash

系统错误信息

/var/games

游戏数据

/var/lib

各种状态数据

/var/lock

文件锁定纪录

/var/log

日志记录

/var/mail

电子邮件

/var/opt

/opt目录的变量数据

/var/run

进程的标示数据

/var/spool

存放电子邮件,打印任务等的队列目录。

/var/tmp

临时文件目录

  1. 文件操作相关命令

3、、预科:Linux系统操作常用指令

3.1 file 文件名:查找文件属性信息

3.2 rm -f:强制删除文件:文件存不存在都会删除

rm -rf:强制删除文件夹:文件夹不存在也删除

 3.3 cat 文件名:将文件内容输出到终端

cat -n 文件名:输出内容及行号

3.4 head 文件名 默认输出文件内容前十行

head -N 文件名 输出前N行内容

3.5 tile 文件名 默认输出文件内容后十行 加数字一致

3.6 find查找文件

格式:find 路径 -name “文件名”:在这个路径查找文件

3.7 grep 查找指定字符串

格式:grep "字符串" 文件名 在一个文件中查找

grep "字符串“  ./ -nR  从这个路径开始往后查找,找到所有用到了这个字符串的文件

3.8 查看文件权限 ls-li命令

3.9修改文件权限chmod

修改方法1:(参数)

语法:chmod [参数][augo][+-=][rwx]文件名

1.将文件file1.txt增加可读权限 

chmod ugo+r file1.txt

2.将文件file1.txt设为所有人(all)可读

chmod a=r file1.txt

3.为ex1.py文件拥有者取消可执行权限

chmod u-x ex1.py

修改方法2:(数字)

语法:chmod abc 文件名

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1, -=0

若要rwx属性则4+2+1=7;

若要rw-属性则4+2=6;

若要r-x属性则4+1=5。

将文件file1.txt设为可读可写可执行权限

chmod 777 file1.txt 和chmod a=rwx file1.txt 和chmod ugo=rwx file1.txt 效果相同

补充:

lscpu 显示CPU信息

free -g 显示内存使用情况

total        used        free      shared  buff/cache   available

Mem:              1             1             0            0             0                 0

Swap:             0             0             0

第一列:

Mem:内存的使用信息

Swap:交换空间的使用信息

第一行:

total:系统总的可用物理内存大小

used:已被使用的物理内存大小

free:还有多少物理内存可用

shared:被共享使用的物理内存大小

buff/cach:被 buffer 和 cache 使用的物理内存大小

available:还可以被应用程序使用的物理内存大小

  • 硬链接和软链接
  1. 硬链接 ln 源文件 目标文件

ln 根据linux系统分配给文件inode号(ls -li)进行建立的,没办法去跨越文件系统的。

格式:ln 被链接的文件(源文件) 生成的一个链接文件(目标文件)

  1. 硬链接的属性 - 相当于生成一个副本  起别名
  2. 源文件删除链接文件依然存在
  3. 不能去链接目录
  4. 修改内容都变化

源文件与目标文件inode号一致

源文件删除后目标文件依然存在并且能继续使用

源文件修改内容,链接的目标文件也变化

  1. 软连接

ln -s (符号链接) 利用文件的路径名来建立的,最好从绝对路径开始

格式:ln -s 被链接的文件(源文件) 生成的链接文件(目标文件)

  1. 软连接的属性l 相当于快捷方式
  2. 源文件删除,链接断开,建立源文件之后重新链接
  3. 软连接可以链接目录
  4. 修改内容都变化

目录也可以被链接

  1. 硬链接和软链接的区别

首先,从使用的角度讲,两者没有任何区别,都与正常文件访问方式一样,支持读写,如果是可执行文件的话也可以直接执行

区别在与底层原理上:

3.1. 本质区别

硬链接:本质上是同一个文件

软连接:本质上不是同一个文件

3.2. 跨设备区别

硬链接:不支持

软连接:支持

3.3. inode区别

硬链接:相同

软连接:不同

3.4. 连接数

硬链接:创建新的硬链接,连接数会增加,删除硬链接,链接数减少

软连接:创建或删除,链接数不会变化

3.5. 文件夹

硬链接:不支持

软连接:支持

  • 解压和压缩
  1. gzip和gunzip

特点:

只能对单个的普通文件进行压缩

不能进行归档,压缩后或解压后源文件都不存在

压缩后生成压缩格式是 .gz 格式

压缩:gzip 文件名    --->默认生成:文件名.gz 的压缩文件

解压:gunzip 文件名.gz   --->默认解压为:文件名

  1. bzip2和bunzip2(特点和 gzip 相似)

压缩后生成压缩格式是 .bz2 格式

压缩:bzip2 文件名    --->默认生成:文件名.bz2 的压缩文件

解压:bunzip2 文件名.bz2   --->默认解压为:文件名

  1. xz和unxz(特点和 gzip 相似)

压缩后生成压缩格式是 .xz 格式

压缩:xz 文件名    ---》默认生成:文件名.xz 的压缩文件

解压:unxz 文件名.xz   ---》默认解压为:文件名

  1. zip和unzip

zip 命令用于将一个文件或多个文件压缩成单一的压缩文件 .zip(可以归档)

格式:zip 压缩文件名 要压缩的文件列表

unzip命令用于将zip压缩文件进行解压

格式:unzip 要解压的压缩文件

注意:

a. 具有归档动能,并进行压缩

b. 可以压缩文件夹,后缀 .zip,压缩文件夹需要加 -r

c. 压缩或解压后源文件依然存在

  1. tar

选项:

-x:释放归档文件

-c:创建一个新的归档文件

-v:显示归档和释放的过程信息(进度)

-f:用户指定归档文件的文件名,否则使用默认名称 后跟文件名

-j:由 tar 生成归档,然后由 bzip2 压缩  .bz2

-z:由 tar 生成归档,然后由 gzip 压缩  .gz

-J:由 tar 生成归档,然后由 xz 压缩  .xz

注意:

1)具有归档功能,并通过参数可以进行压缩或解压

2)压缩或解压后源文件存在

3)需要写全压缩或解压的文件名格式

组合:(不会显示过程信息)

-cjf:以 bz2 的格式压缩文件

-czf:以 gz 的格式压缩文件

-cJf:以 xz 的格式压缩文件

-xvf解压一个压缩包:解压后压缩包依然存在

(显示过程信息)

-cvjf:以 bz2 的格式压缩文件

-cvzf:以 gz 的格式压缩文件

-cvJf:以 xz 的格式压缩文件

-xvvf解压一个压缩包:解压后压缩包依然存在

压缩

tar -cvjf file.tar.bz2  *

tar -cvJf file.tar.xz *

tar -cvzf file.tar.gz *

注:tar -cvf file.tar *  ---》只归档不压缩

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

满山的猴子我的腚最红

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值