当前位置: 首页 > article >正文

c高级学习笔记

输入输出重定向

输出重定向

命令 > file :将file作为输出源,file文件不存在创建

命令 >> file 如果文件不存在创建如果文件存在内容则会追加

命令 &> file 或者命令 2> file :将由命令产生的错误信息输入到文件当中

命令 &>> file 或者命令 2>> file :将由命令产生的错误信息输入到文件当中

输入重定向

输出重定向>换成<即可

命令置换符` `或者$(

将一个命令的输出作为另一个命令的参数

例:echo "my name is 'hostname'"

输出my name is ubantu

系统维护命令

  1. man man 查看man手册

第一个章节:shell命令

第二个章节:系统调用

第三个章节:C库

  1. sudo passwd 用户名修改用户密码
  2. su 切换用户

su默认切换到超级管理员用户

sudo su 用户名

exit退出切换用户

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

echo -n输出不换行

  1. date查看当前系统日期
  2. clear 清屏
  3. df -Th 或者 df -h : 查看磁盘空间

用户管理命令

用户相关配置文件
  1. /etc/passwd: 存储用户的详细信息
  2. /etc/group: 存储已有的用户组信息
  3. /etc/shadow: 存储用户的密码

新建用户

sudo adduser 用户名

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

删除用户

sudo deluser 用户名 ---> 删除用户,但是不会删除用户的主目录(残留的主目录可以直接使用rm -r删除)

sudo userdel -r 用户名 ---> 删除用户的同时,删除用户的主目录

sudo userdel -rf 用户名 ---> 强制删除

进程管理命令

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

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

  1. ps 查看进程状态

ps-aux

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

PID 唯一标识id

ps -ef: 查看父进程id

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前台进程

./a.out &a.out 后台运行

fg 数字后台运行进程拉到前台运行

ctrl z前台运行进程暂停同时放在后台

bg 数字后台暂停进程后台运行起来

  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:要修改的nice

PID要修改进程

2. nice 定制运行的优先级

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

3. kill发送信号

kill -l查看linux信号

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信号

kill PID默认执行9信号

文件系统命令

文件系统leix

磁盘文件系统:指本地主机中实际可以访问到的文件系统,包括硬盘、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

Linux 文件

/bin:存放系统中最常用的可执行文件

/dev:存放所有设备文件,包括硬盘、分区、键盘、鼠标、USB、tty等

/home:用户主目录的默认位置

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

/usr:用于存放与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件

文件操作相关命令

  1. file 文件名查找文件属性信息

a.out:文件名
ELF:类型
64-bit LSB shared object:小端存储
x86-64:64位操作系统
version 1 (SYSV):版本
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2:动态链接的库
BuildID[sha1]=929170c6441faf1ed8244921a012c77550a8584a:动态ID
for GNU/Linux 3.2.0:gcc编译器的版本
not stripped: 文件没有被压缩

2.cat 文件名 将文件内容输出终端(无行号)

cat -n 文件名输出显示行号

3.find :查找文件

格式find 路径 -name “文件名” ----> 路径往后查找文件

find ./ *.c

4.grep 查询指定字符串

grep "字符串" 文件一个文件查找

grep "字符串" 路径 -nR递归从路径往后查找,找到所有用这个字符串的文件

-n回显查找行数

-R查找路径可以是目录-R进行递归查找

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

rm -rf 目录名强制删除文件文件夹不存在也会删除

head 文件名默认输出文件内容10

head -num 文件名默认输出文件内容num

tail 文件名默认输出文件内容10

tail -num 文件名默认输出文件内容后num

                                                                                                                   未完待续……


http://www.kler.cn/a/404285.html

相关文章:

  • ip代理池新玩法,收集全网可用代理01,初次验证存活ip
  • React的API✅
  • 开源代码统计工具cloc的简单使用
  • 2411rust,编译时自动检查配置
  • 【MySQL】ubantu 系统 MySQL的安装与免密码登录的配置
  • 【Unity基础】认识Unity中的包
  • 【Linux】冯诺依曼体系结构、操作系统
  • 11.21Pytorch_属性常见转换操作
  • Github 2024-11-18 开源项目周报 Top15
  • shell脚本之while循环和until循环
  • 【ChatGPT】ChatGPT在多领域知识整合中的应用
  • OSG开发笔记(三十三):同时观察物体不同角度的多视图从相机技术
  • 线性回归 - 最小二乘法
  • 适用于资源受限IoT系统的非对称语义图像压缩技术
  • 【正则表达式 PYTHON】
  • 视觉顶会论文 | 基于Swin Transformer的轴承故障诊断
  • 每日一题 LCR 079. 子集
  • 【Linux】<共享内存应用>——模拟实现不同进程把hello字符对<共享内存文件对象>的放入和取出操作
  • Seatunnel运行时报错Caused by: java.lang.NoClassDefFoundError: com/mysql/cj/MysqlType
  • 2024年亚太地区数学建模大赛C题-宠物行业及相关行业的发展分析与策略
  • 如何查看 Android 项目的依赖结构树
  • 集成学习的起源与哲学
  • Qt添加外部库:静态库和动态库,批量添加头文件
  • 【XSS】payload#1
  • 利用oss进行数据库和网站图片备份
  • Flowable第三篇、Flowable之任务分配(任务分配、流程变量、候选人和候选人组)