Linux及C2
【19】输入/输出重定向
1---输出重定向
* echo “str” 有“”号时echo后内容作为一个字符串原样输出,没有“”号,字符串中间只用一个空格间隔
>file 以新建模式进行输出重定向(覆盖同名文件)
>>file 以追加模式进行输出重定向
2---输入重定向
< 输入重定向
3---错误重定向
2> 或&> 错误重定向
【20】查看文件
cat 查看文件内容
tac 反向查看文件内容
more 查看文件一屏幕内容 space继续查看 q退出
head
tail
nl
【21】pwd
显示当前路径的绝对路径
绝对路径; /home/linux
性对路径; .. .
【22】命令置换
将一个命令的输出作为另一个命令的输入 wc -l `ls`
【23】
grep [选项] “描述” [路径] 按照内容进行搜索
grep -r n “hello world” /home/linux r 递归 n显示行数
grep -n "hello world" filename
find [路径] [选项] [描述]
find /home/linux -type d或f -name filename
-type d(f)缩小搜索范围 d查找目录 f查找文件
find . -type d或f -mtime -N 查找N天内修改的文件
N 查找N天以前修改的文件
【24】
cd- 回到上一次路径head 显示文件开头head -n filename 显示前N行
tail 显示文件结尾diff file1 file2 比较两个文件file 查看文件类型 file filenamedu 查看目录和文件所使用的的空间whereis 查找命令who 列出系统上用户名单
【25】shutdown
sudo shutdown -h或-r now 立即关机/重启
sudo shwutdown -h或-r +30 30分钟后关机/重启
sudo shutdown -h或-r 12:00 12:00关机/重启
sudo shutdown -c 取消关机或重启
【26】sudo passwd username 修改username
su root 切换root用户
exit 退出当前用户
【27】查看修改时间
date 查看时间
sudo date -s 12:00:00 修改时间
sudo date -s 3/30/2016 修改日期
sudo cp /usr/share/zoneinfo/Aisa/Hongkong /etc/localtime 修改时区
【28】df 查看磁盘空间
df -aTh a 显示所有物理文件系统的使用情况
T 显示文件系统文件格式类型
【29】用户管理
/etc/passwd 存放用户相关信息ls
/etc/group 存放用户组信息
格式 username:passwd:用户ID:用户所属的组ID
sudo adduser yu 添加用户
sudo deluser --remove-home yu 删除用户
sudo usermod -g 1000 u2 修改用户所属用户组ID 修改u2的用户所属组为1000:
【30】ps 进程管理
ps -aux 显示所有包含其他使用者的进程
top 监视进程
kill [-signal] PID 向进程发送一个信号-signal kill -9 4900
PID 进程唯一标识符
线程是组成进程的因素,建立在进程之中
文件系统
用于组织和管理计算机存储设备上的大量文件,并提供用户交互接口。
专有/虚拟文件系统:不驻留在磁盘上的文件系统
网络文件系统:是可以远程访问的文件系统
磁盘文件系统;
Ext4是linux系统广泛使用的一种文件格式;
最大特点是日志文件系统:可将整个磁盘的写入动作完整地记录在磁盘上的某个区域,以便回溯追踪
文件系统的结构
分区与目录的关系:在windows下,目录结构属于分区;在Linux下,分区属于目录结构;
Linux的文件组织模式犹如一颗倒置的树。
c字符设备文件
b块设备文件
-普通文件
d目录
/etc/proc 存放以进程号命名的一些目录 (进程先关文件)
【31】挂载
df -Th 查看
sudo mount -t vfat /dev/sdb1 /mnt/username
文件系统类型
【32】ls -l
ls -li 列表显示 头部显示inode号
- rw-rw-r-- 1 linux linux 14180 10月 12 16:42 1.txt
类型 权限 连接数 用户 组 大小
1---类型(7种)
b 块设备文件c 字符设备文件d 目录- 普通文件l 连接文件link (软链接)s 套接字p 管道文件
【33】
文件描述符:一个文件可以有多个
inode:每个文件只有一个(唯一标识)
【34】 cp、mv、touch 第二用法 mv 更名 touch 更新时间戳
head -N 显示文件前N行 N未指定默认显示10行
tail -N 后N行
【35】ln 链接
1---硬链接
ln filename linkname
1)对一个文件的备份,没有开辟新的内存空间
2)普通文件类型
3)不支持对目录进行硬链接创建
2---软链接(符号链接)
ln -s `pwd`/filename linkname (使用绝对路径创建)
1)类似windows中的快捷方式
2)链接文件类型
3)支持对目录进行软链接创建
【36】tar 文件压缩和归档
tar -cjf file.tar.bz2 file1 file2 c 建归档、文件 j 由tar生成归档,然后又bzip2压缩 f用户指定生成的文件名,否则使用默认名
tar -czf file.tar.gz file1 file2 c 建归档文件 j 由tar生成归档,然后又gzip压缩 f用户指定生成的文件名,否则使用默认名
tar -xvf file.tar.gz x 释放归档文件 v 显示归档和释放过程信息
date
Shell脚本编程
【1】Shell脚本的本质:Shell命令的有序集合
shell是解释型语言
【2】创建一个Shell脚本 权限 r w x r w x r w x
1> .sh bin 1 1 1 1 1 1 1 1 1
2> chmod 777 1.sh 赋予Shell脚本运行权限 7 7 7
chmod change mode 更改文件或目录权限 -R 递归修改 chmod -R 755 ~/dir 修改 ~/dir目录以及其包含的所有文件权限为755
Shell脚本的第一行 #! /bin/bash 表示当前Shell脚本在Bourne again Shell环境下运行 一定加上
【3】变量 使用变量是 变量前面+ ’$‘
1--- 自定义变量
A=hello 等号两端不能有空格
2--- 位置变量 命令行传递的参数
$0 $1 ${10} 两位数的要用 {}括起来
3--- 预定于变量
$@ 命令行除了第一个参数之外的所有参数
$* 与 $@相同
$# 命令行除了第一个参数之外的参数个数
$? 1---上一条Shell命令执行状态 ,成功为0
2--- 只跟上一条Shell命令有关系
$$ 此刻脚本运行的PID
4--- 环境命令
【4】read
从标准输入读入一行
【5】expr
ret=`expr $A + $B`
【6】test 测试三种对象
$? 真结果为0 假结果为1
1--- 字符串
s1 = s2 是否相等 =
!= 是否不等 !=
-z 是否为空 -z
-n 是否不空 -n
2--- 测试整数
a -eq b 是否相等
-ne 是否不等
-gt 是否大于
-ge 是否大于等于
-lt 是否小于
-le 是否小于等于
-o 或
-a 与
3--- 文件
b c d - l s p Linux
-b -c -d -f -L -S -p Shell脚本
测试文件权限(用户本身) -r -w -x
4--- [ ] 与数之间要有空格隔开 test 1 = 3 相当于 [ 1 = 3 ]
【7】 if
if 表达式
then 命令表1
else 命令表2
fi
elif else if 在shell脚本中旳形式
【8】case 变量 in
模式1 | 模式2)
命令表1
;; -------- 相当于C语言中switch case分之结构中的break;
*) *指代模式列表中没有列出的情况 类似 default;
命令表2
;;

【9】for 变量名 in 单词表 循环次数有单词表中的单词个数决定,并且每次循环净单词表中旳第一个单词传递给 变量
do 命令表
done
【10】while 命令或表达式
do 命令表
done
【11】函数的返回值只能用 $? 承接
函数的定义方式
function_name ()
{
命令表
}
函数传参 function_name $prameter
参数使用 $1 $@ ....
创建一个名为dir的命令 已存在提示已存在 ,不存在则创建
2>将当前路径下的所有普通文件,全部都拷贝到dir下 在函数中完成
3>拷贝的文件信息记录到 1.txt中
4>拷贝文件的个数 echo
学生成绩100 -90 A
89 - 80 B
79 -70 C
69 -60 D
59 - 0 E
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人