前一个命令的输出作为后一个命令输入
cat hello.c | wc -l —> 将 cat 输出到终端的内容作为 wc -l 的输入,计算行数
补充:wc -l 文件名:文件行数
wc -c 文件名:文件字符个数
wc -m 文件名:计算文件字节大小
wc -w 文件名:文件单词个数
命令 > file:将file 作为输出源,file 文件不存在创建
命令 >> file:如果文件不存在则创建,如果文件中存在内容则会追加
命令 &> file 或者 命令 2> file:将由命令产生的错误输入到 file
将一个命令的输出作为另一个命令的参数
1.man man:查看 man 手册
1 Executable programs or shell commands : shell命令
2 System calls (functions provided by the kernel):系统调用
3 Library calls (functions within program libraries):C库
2.sudo passwd 用户名:修改用户密码
3.su:切换用户
su:默认切换到 root
sudo su 用户名
exit:退出切换的用户
4.echo “输出内容”:向终端输出内容,默认换行
echo -n “输出内容” -----> 输出不换行
5.date 查看当前系统的日期
date -s 年/月/日
date -s 时:分:秒
6.clear:清屏
7.df -Th / df -h:查看磁盘空间
sudo adduser 用户名:添加用户
给用户添加sudo权限:
切换到超级管理员身份:sudo su
给用户添加 sudo 权限:sudo vi /etc/sudoers
添加:用户名 ALL=(ALL:ALL) ALL
sudo deluser --remove-home 用户名:删除用户
sudo userdel -f 用户名:强制删除用户
进程:是程序的一次运行过程,是动态的
程序:存放在磁盘空间上的可执行文件,是静态的
ps -aux
USER(用户) PID(进程id) %CPU %MEM VSZ RSS TTY(终端 ?:不依赖终端) STAT(状态) START TIME COMMAND
PID:是唯一标识进程的id号
ps -ef:查看父进程(PPID)
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 数字:(这里的数字是你按Ctrl + z 的时候返回的中括号中的数字)将后台暂停的进程在后台跑起来
在进程管理中,NI通常表示进程的Nice值(Nice Value)。Nice值是用来调整进程优先级的参数,它可以影响进程在系统中的调度顺序
Nice值通常是一个整数,在大多数操作系统中,它的范围通常是-20到+19。较小的Nice值表示进程的优先级较高,而较大的Nice值表示进程的优先级较低
NI:优先级 +19 ~ -20 值越小,优先级越高
PR:20 + NI
在进程管理中,PR通常表示进程的优先级(Priority)。进程优先级是操作系统用来管理和调度进程的一种机制。每个进程都有一个与之相关联的优先级,用于确定进程在系统中的调度顺序。
sudo renice -n num PID
num:要修改的优先级的值
PID:要修改进程优先级的PID
sudo nice -n num ./可执行文件
kill -l:查看linux下的信号
kill num PID:给指定进程发送 num 号的信号
killall 文件名:杀死所有为该文件名的进程
磁盘文件系统:指本地主机中实际可以访问到的文件系统,包括硬盘、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 ## 2.top 动态显示进程状态
目录名 描述
/ Linux文件系统根目录
/bin 存放系统中最常用的可执行文件(二进制)
/boot 存放Linux内核和系统启动文件,包括Grub、lilo启动器程序
/dev 存放所有设备文件,包括硬盘、分区、键盘、鼠标、USB、tty等
/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.file 文件名:查找文件属性信息
2.rm -f 文件名:强制删除,文件存不存在都会删除
rm -rf 文件夹名:强制删除文件夹,文件夹存不存在都会删除
3.cat 文件名:将文件内容输出到终端
cat -n 文件名:将文件内容及行号输出到终端
4.head 文件名:默认输出文件内容的前10行
head -num 文件名:将文件内容的前num行输出到终端
5.tail 文件名:默认输出文件内容的后10行
tail -num 文件名:将文件内容的后num行输出到终端
head -35 文件名 | tail -5
6.find 查找文件
格式:find 路径 -name “文件名”:在这个路径下查找文件
7.grep 查找指定字符串
grep “字符串” 文件名:在一个文件中查找
grep “字符串” 路径 -nR:从这个路径开始往后查找,找到所有用到了这个字符串的文件
补充:
1.lscpu:显示CPU信息
2.free -g:显示内存使用情况
total used free shared buff/cache available
Mem: 1 0 0 0 0 0
Swap: 0 0 0
第一列:
Mem:内存的使用信息
Swap:交换空间的使用信息
第一行:
total:系统总的可用物理内存大小
used:已被使用的物理内存大小
free:还有多少物理内存可用
shared:被共享使用的物理内存大小
buff/cach:被 buffer 和 cache 使用的物理内存大小
available:还可以被应用程序使用的物理内存大小
ln 根据linux系统分配给文件inode(ls -li)进行建立,没办法跨越文件系统
格式:ln 被链接的文件(源文件) 生成的链接文件(目标文件)
1)硬链接的属性 - 相当于生成一个副本 起别名
2)修改内容都变化
3)源文件删除链接文件依然存在
4)不能链接目录
ln -s(符号链接) 利用文件的路径名来建立的,最好从绝对路径开始
格式:ln -s 被链接的文件(源文件) 生成的链接文件(目标文件)
1)软连接的文件属性 l 相当于快捷方式
2)源文件删除,链接断开,建立w源文件之后重新链接
3)软连接可以链接目录
4)修改内容都变化
首先,从使用的角度讲,两者没有任何区别,都与正常文件访问方式一样,支持读写,如果是可执行文件的话也可以直接执行
区别在底层原理上
硬链接:本质上是同一个文件
软连接:本质上不是同一个文件
跨设备区别:
硬链接:不支持
软连接:支持
硬链接:相同
软连接:不同
硬链接:创建新的硬链接,连接数会增加,删除硬链接,链接数减少
软连接:创建或删除,链接数不会变化
硬链接:不支持
软连接:支持
特点:只能对单个的普通文件进行压缩
不能进行归档,压缩或解压后的源文件都不存在
压缩后所生成的压缩格式是 .gz 格式
压缩:gzip 文件名 ----> 默认生成:文件名.gz 的压缩文件
解压:gunzip 文件名 ----> 默认解压为:文件名
压缩后生成压缩格式是:.bz2 格式
压缩:bzip2 文件名 ----> 默认生成:文件名.bz2 的压缩文件
解压:bunzip2 文件名 ----> 默认解压为:文件名
压缩后生成压缩格式是:.xz 格式
压缩:xz 文件名 ----> 默认生成:文件名.xz 的压缩文件
解压:unxz 文件名 ----> 默认解压为:文件名
zip命令用于将一个文件或多个文件压缩成单一的文件 .zip
注意:
1.具有归档功能,并进行压缩
2.可以压缩文件夹,后缀 .zip ,压缩文件夹时需要加 -r 选项
3.压缩或解压后源文件依然存在
压缩格式:zip 压缩文件名 要压缩文件列表
解压格式:unzip 要解压的压缩文件