您当前的位置: 首页 >  音视频

命运之手

暂无认证

  • 2浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Android音视频开发】【017】Linux和Shell常用指令

命运之手 发布时间:2021-02-18 21:00:13 ,浏览量:2

前言

由于大多音视频服务的编译和部署都是在Linux上进行的

所以我们先简单过下Linux常用指令

shell

shell是指可以控制操作系统内核的图形界面软件

sh和bash

sh和bash是Linux系统下的两个shell程序 它们的功能相似,bash是sh的增强版本,bash也是Linux下的默认shell工具

sh文件

sh文件和sh程序是两个不同的概念 sh文件是Linux下的脚本文件,可以通过其它shell程序打开并执行 如果在执行sh文件时不指定执行工具,默认使用bash程序来执行 通过编写并执行sh文件,可以批量执行shell指令,不需要通过命令行来一步步执行

sudo指令

以系统管理员身份执行指令 sudo xxx 以系统管理员身份执行xxx指令

find指令

用于文件查找 find xxx1 -name xxx2 在xxx1目录下,查找名为xxx2的文件 find xxx1 -user xxx2 在xxx1目录下,查找属于用户xxx2的文件 find xxx1 -size xxx2 在xxx1目录下,查找属于大小大于xxx2的文件

ls指令

用于文件列举 ls -a 显示当前文件夹下所有文件 ls -A 显示当前文件夹下所有文件,不包括以.或..开头的隐藏文件 ls -R 递归列举所有子文件 ls -S 按大小排序 ls -t 按时间排序

cd指令

用于切换目录 cd xxx 切换到xxx目录 cd ./xxx 切换到当前目录下的xxx目录 cd ../xxx 切换到上级目录下的xxx目录

tree命令

以目录树的形式显示全部文件,需要安装tree程序

cp命令

复制文件 cp -a xxx1 xxx2 连同文件属性一起复制 cp -r xxx1 xxx2 递归复制子文件 cp -u xxx1 xxx2 仅复制有差异的文件 cp -i xxx1 xxx2 文件已存在时,询问是否覆盖

rm命令

删除文件 rm -f xxx 强制删除,忽略不存在的文件 rm -r xxx 递归删除 rm -i xxx 删除前询问

mv命令

移动文件 mv -f xxx1 xxx2 若文件已存在,直接覆盖 mv -u xxx1 xxx2 若文件已存在,仅当比目标文件更新时,才覆盖 mv -i xxx1 xxx2 若文件已存在,询问是否覆盖

pwd命令

显示当前工作目录路径 pwd -P 如果当前目录是超链接,则显示真实路径

mkdir命令

创建目录 mkdir -p xxx 递归创建xxx目录 mkdir -m 777 xxx 创建xxx目录,并授予全部权限 在Linux中,目录权限分为read/write/execute,分别用数字4/2/1表示 7就表示他们相加的全部权限,三个7表示分别授予owner/group/other全部权限

rmdir命令

删除目录

rmdir -p xxx 递归删除xxx目录,及其下级文件,如果删除后父目录为空,也一并删除

rmdir -v xxx 显示删除指令执行具体过程

tar命令

打包或解包tar文件 tar -c -f xxx1 -C xxx2 打包x2到x1 tar -x -f xxx1 -C xxx2 解包x1到x2 tar -t -f xxx1 查看压缩文件 -c 打包 -x 解包 -t 查看 -C 指定打包或解包目录

gzip命令

压缩或解压文件,gzip不能压缩整个目录,可使用tar命令打包再压缩

gzip * 将目录下的每个文件压缩成一个gz文件

gzip xxx 将xxx文件压缩为xxx.gz

gzip -r xxx 将xxx目录下的所有文件都压缩成一个单独的gz文件

gzip -d xxx.gz 解压xxx.gz文件

gzip -d -r xxx 递归解压xxx目录下的所有gz文件

打包和压缩的区别

Linux中的压缩,并不是我们通常理解的压缩文件 打包是将多个文件合并成一个文件,总体积不变 压缩是将一个文件的体积压缩变小 我们在Windows中常见的zip文件,准确地说,其实是打包后再压缩生成的

ps命令

查看进程

ps -A 显示所有进程

ps -a 显示所有非Terminal进程

ps -u uid 显示指定用户的进程

ps -u username 显示指定用户的进程

ps -g gid 显示指定用户组的进程

ps -a -x 显示详细进程信息

kill命令

通过pid结束进程

kill -1 xxx 向pid为xxx的进程发出一个SIGHUP信号,进程可以拦截这个信号,自定义如何处理

一般普通进程收到这个信号时会结束进程,守护进程收到这个信号则会重新加载

kill -9 xxx 强制结束pid为xxx的进程,可能会导致数据丢失

kill -15 xxx 正常结束pid为xxx的进程

killall命令

通过pname结束进程,如果同名则全部结束,信号参数和kill命令一样

killall -9 xxx1 -u xxx2 结束用户xxx2所有名称为xxx1的进程

killall -9 xxx1 -g xxx2 结束xxx2进程组下面所有名称为xxx1的进程

crontab命令

crontab xxx 从xxx文件中导入定时计划

crontab -l 查看定时任务内容

crontab -l >> xxx 导出定时计划到xxx文件

crontab文件的具体格式,请仔细百度了解

free命令

显示内存使用情况

free 显示内存使用情况

free -b 以Byte为单位

free -k 以KB为单位

free -m 以MB为单位

free -g 以GB为单位

top命令

任务管理器,查看进程资源占用情况

top -u xxx 只显示用户xxx的进程

top -c 显示完整指令

top -p xxx 显示pid为xxx的进程

chmod命令

修改文件权限

chmod ugoa+rwx xxx 授予所有人xxx文件的全部权限

u 表示所有者

g 表示所有者的用户组

o 表示其它用户

a 表示全部用户

r 表示读权限

w 表示写权限

x 表示执行权限

chmod 777 xxx 授予所有人xxx文件的全部权限

这是一种数字表达方式,三个7分别表示所有者,用户组,其它用户的权限,即ugo的权限

rwx对应的数值分别为421,7=4+2+1=rwx,即表示全部权限

chown命令

修改文件所有者

chown uuu xxx 将文件xxx所有者设置为用户uuu

chown uuu:uuugroup xxx 将文件xxx所有者设置为用户uuu,使用者设置为uuugroup

chown -R uuu * 将当前目录下的所有子文件,所有者设置为用户uuu

chgrp命令

修改文件所属用户组

chgrp uuugroup xxx 将xxx文件所属用户组更改为uuugroup

useradd命令

添加用户账号

useradd xxx 添加xxx用户

useradd -g uuugroup xxx 添加xxx用户,并分配到uuugroup用户组

useradd -r xxx 添加xxx用户,并设置为系统账号

usermod命令

修改用户账号

usermod -c yyy xxx 修改xxx用户的备注为yyy

usermod -d yyy xxx 修改xxx用户的主目录为yyy

usermod -l yyy 修改xxx用户的账号为yyy

userdel命令

删除用户账号

userdel -f xxx 删除用户xxx,同时强制删除所有相关数据

userdel -r xxx 删除用户xxx,同时删除其主目录

groupadd命令

添加用户组

groupadd -g yyy xxx 创建名为xxx的用户组,并指定组id为yyy

groupadd -r xxx 创建名为xxx的用户组,并设置为系统用户组

groupdel命令

删除用户组

groupdel xxx 删除名为xxx的用户组

删除用户组之前,必须先保证该用户组不包含任何用户

passwd命令

修改用户密码

passwd xxx 设置用户xxx的密码

passwd -S xxx 显示用户xxx的密码信息

passwd -d xxx 删除用户xxx的密码

groups命令

显示用户所属用户组

groups xxx 显示用户xxx所属用户组

vi命令

调用vi编辑器打开文本文件

vi xxx 调用vi编辑器打开xxx文件

vi编辑器的具体使用方法,请自行百度学习

cat命令

将一个IO设备的内容输出到另一个IO设备

cat xxx1 > xxx2 将xxx1文件的内容输出到xxx2文件中

cat /dev/null > xx2 清空xxx2文件的内容

cat -n xxx1 > xxx2 将xxx1文件的内容,加上行号后,再输出到xxx2文件中

cat xxx1 xxx2 >> xxx3 将xxx1和xxx2文件的内容,附加到文件xxx3中

cat /dev/fd0 > xxx 将磁盘内容写到xxx镜像文件中

cat xxx > /dev/fd0 将xxx镜像文件写到磁盘中

more命令

按页查看文件,只能向后翻页

more -s xxx 按页查看xxx文件,如果有多个空行,则合并为一行显示

more +20 xxx 按页查看xxx文件,从第20行开始显示

less命令

按页查看文件,可以向前向后翻页

tail命令

显示文件尾部内容

tail xxx 显示文件最后10行内容

tail -f xxx 显示文件最后10行内容,并实时更新

tail -n 20 显示文件最后20行内容

tail -c 10 显示文件最后10个字符

head命令

显示文件头部内容

diff命令

diff xxx1 xxx2 比较文件xxx1和文件xxx2的内容

ping命令

检测与指定主机的网络连通性

ping xxx 检测与xxx主机的连通性

ping -c 2 xxx 检测与xxx主机的连通性,主机回应两次视为连通

ping -i 1 xxx 检测与xxx主机的连通性,每隔1秒发送一次数据包

ssh命令

远程登录Linux主机

ssh xxx@xxx 远程登录指定主机上的指定账号

telnet命令

远程登录Linux主机

telnet xxx 远程登录xxx主机,没有ssh安全

scp命令

远程复制文件

scp xxx user@host:folder 拷贝本地xxx文件,到远程host主机的folder文件夹下

scp xxx user@host:file 拷贝本地xxx文件,到远程host主机的的file文件位置

scp xxx host:folder 也可以不指定user,等待命令执行后,再在控制台输入用户名和密码

scp -r xxx user@host:folder 拷贝本地xxx文件夹,到远程folder目录下,r表示递归复制

scp user@host:file xxx 将远程的file文件,拷贝到本地xxx文件位置

scp -r user@host:folder xxx 将远程的folder文件夹,拷贝到本地xxx文件夹下

wget命令

从网络下载文件

wget xxx 下载xxx文件,保存到当前目录

wget -O zzz xxx 下载xxx文件,保存到当前目录,并命名为zzz

wget -c xxx 以断点续传的方式下载xxx文件

wget -b xxx 后台下载xxx文件,控制台会创建一个日志文件来记录下载进度

wget -tries=10 xxx 下载xxx文件,失败时最多重试10次

wget -o zzz xxx 下载xxx文件,并将日志存储到zzz文件

ifconfig命令

配置网卡

ifconfig eth0 up 启动网卡0

ifconfig eth0 down 关闭网卡0

ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE 修改网卡0的MAC地址

route命令

修改路由规则

route print 打印路由规则

route delete 192.168.2.0 mask 255.255.0.0 删除ip为192.168.2.0,掩码为255.255.0.0的路由规则

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 添加一条到10.41.0.0的路由,掩码为255.255.0.0,网关为10.27.0.1

whereis命令

查找代码文件、二进制文件或帮助文件

whereis xxx 查找名称为xxx的代码文件、二进制文件或帮助文件

whereis -b xxx 查找名称为xxx的二进制文件

whereis -m xxx 查找名称为xxx的帮助文件

locate命令

查找文件

locate xxx 查找所有名为xxx的文件

locate -i xxx 查找所有名为xxx的文件,忽略大小写

locate /etc/xxx 查找etc文件夹下,所有以xxx开头的文件

locate ~/xxx 查找当前用户目录下,所有以xxx开头的文件

locate指令并不是实时查找硬盘,而且去查找文件索引数据库,所以它的查找结果不一定是准确的

可通过updatedb命令,来手动更新文件索引数据库

find命令

从硬盘查找文件

find . 查找当前目录下的所有文件

find . -name “*.c” 在当前目录下,查找后缀名为c的文件

which命令

在path系统变量中搜索指定程序所在位置

find java 查找java程序所在位置

clear命令

清除控制台

date命令

显示时间

date 显示当前时间

date ‘+%x’ 以年月日的格式显示时间

具体时间格式的控制方法,请自行百度了解

ln命令

为文件建立一个链接,类似于Windows中的快捷方式

ln -s xxx yyy 为当前目录下的xxx文件,建立一个名为yyy的链接

关注
打赏
1654938663
查看更多评论
立即登录/注册

微信扫码登录

0.2964s