扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
权限管理命令 chmod
在成都做网站、成都网站设计中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联建站专业成都网站建设10多年了,客户满意度97.8%,欢迎成都创新互联客户联系。
英文愿意: change the permissions mode of a file
语法: chmod[{ugoa}{+-=}{rwx}] [文件或目录]
[mide = 421] [文件或目录]
-R 递归修改
权限的数字表示
r -- 4
w -- 2
x -- 1
rwxrw-r-- (4+2+1 = 7)
7 6 4
例子:mkdir /temp 创建了一个目录
touch /temp/testfile 在该目录下创建了一个test file文件
chmod 777 /temp 改变了一下该目录的权限
名称: chgrp
英文原意:change file group ownership
语法:chgrp [用户][文件或目录]
功能: 改变文件或目录的所属租
例子: useradd hl // 添加所有者
groupadd brother // 添加所有组
charp brother text // brother变成了text文件的所属组
注意:
1、所属组就是创建这的所属者的缺省组
2、linux中创建的文件缺少x(可执行)为了使系统更加安全
mask
0022
0特殊权限
022 ugo --- -w- -w-
1、文件搜索命令find
执行权限:find
语法:find[搜索范围][匹配条件]
功能描述:文件搜索
例子:
find /etc -name init (-iname 不区分大小写)
find /home -user(-group) hl
在根目录下查找所有者(所有组)为hl的文件
在目录/etc中查找文件init
init init init // 通配符
?init (?匹配单个字符)
find / -size +204800
在跟目录下查找大于100MB的文件 (100MB = 102400KB = 204800)
+n 大于 -n小于 n等于
find /etc -cmin -5
例子2:
find /etc -size + 163840 -a size -204800
在/etc下查找大于80MB小于100MB的文件
-a两个条件同时满足
-o两个条件满足任意一个即可
在/etc下查找5分钟内被修改的属性的文件和目录
-amin 访问时间 access
-cmin 文件属性 change
-mmin 文件内容 modify
2、文件搜索指令 locate
命名名称:locate
执行权限:所有用户
语法:locate 文件名
功能描述:在文件资料库中查找文件
例子: $ locate inittab
输出文件所在位置
locate和find的区别:
locate的查找速度很快,因为find是在分区和磁盘上查找,而locate是在资料库中查找
注意:如果资料库没有实时更新,所以locate可能会查不到要查询的文件。
即:
updatedb (升级文件的资料库)
loocate -i 文件名 (-i 不区分大小写)
3、文件搜索命令:which (更精确呦)
执行权限:所有用户
功能描述:搜索命令所在目录及别名信息
例子: which ls
alias(别名)
4、whiereis
执行权限:所有用户
语法: whereis[命令名称]
功能描述:搜索命令所在目录及帮助文档路径
例子: whereis ls
5、grep
执行权限:所有用户
语法:grep -iv[指定字串][文件]
功能描述:在文件中搜索字符串匹配的行并输出
-i 不区分大小写
-v 排除指定字符串
例子 grep mysql /root/install.log
补充: linux中 # 表示注释
命名名称:man
英文原意:manual
执行权限:所有用户
语法:man[命令或配置文件]
功能描述:获取帮助信息
例子: man ls # 查看ls命令的帮助信息
man services 查看配置文件sevices的帮助信息
补充:man 。。。。后
/-g :查询与g有关的信息
空格进行翻页
回车进行换行
按n继续查找
命令名称:useradd
执行权限:root
语法:useradd 用户名
功能描述: 添加新用户
例子: useradd HF
命令名称:passwd
执行权限:所有用户
语法:passwd 用户名
功能描述: 设置用户密码
例子: passwd HF
命令名称:who
执行权限:所有用户
语法:who
功能描述: 查看登录用户信息
例子: who
输出内容含义:
登录用户名 登录终端(tty本地登录、pds表述远程终端) 登录时间 登录主机ip地址
命令名称:w
执行权限:所有用户
语法:w
功能描述: 查看登录用户详细信息
例子: w
命令名称:gzip
英文原意:GNU zip
执行权限:所有用户
语法:gzip[文件]
功能描述: 压缩文件
压缩后文件格式:.gz
解压缩:gunzip 压缩文件
注意:gizp只能压缩文件,不能压缩目录
命令名称:tar
执行权限:所有用户
语法:tar 选项 [-zcf] [压缩文件名] [目录]
-c 打包
-v 显示详细文件
-f 指定文件名
-z 打包同时压缩
功能描述: 打包目录
压缩后文件格式:.tar.gz
命令名称:zip
执行权限:所有用户
语法:zip 选项[-r][压缩后文件名][文件或目录]
-r 压缩目录
功能描述: 压缩文件或目录
压缩后文件格式: zip
注意:zip是window和linux系统中通过用的压缩格式
命令名称:bzip2
执行权限:所有用户
语法:bzip2 选项 [-k] [文件]
-k 产生压缩文件后保留有源文件
功能描述: 压缩文件
压缩后文件格式: .bz2
注意: bzip2的压缩比例大,适用于压缩较大的文件
bunzip2解压缩
对目录压缩:tar.bz2
指令名称:write
指令权限:所有用户
语法:write 用户名
功能描述:给用户发消息 ,以ctrl + D保存
例子: write YX
命令名称:wall
英文原意:write all
执行权限:所有用户
语法:wall [message]
功能描述: 发广播信息
命令名称:ping
执行权限:所有用户
语法:ping 选项IP地址
-c 指定发送次数
功能描述: 测试网络连通性
例子: ping 192.168.1.156
命令名称:ifcongig
英文原意:interface configure
执行权限:root
语法:ifconfig 网卡名称 IP地址
功能描述:查看和设置网卡信息(设立之临时IP)
例子: ifconfig etho 192.168.1.156
etch0 本地真实网卡
lo 回环网卡 (用来本机通信个测试的)
cncap:。。网络名称是以太网
HWaddr: 16进制表示的 48位的 网卡的物理地址
addr:当前计算机IP地址
Bcast:当前网络地址
Mask:子网掩码
inet6 addr: 表示的是IPv6的地址信息
RX packets:接受数据包的总数量
TX packets:发送数据包的总数量
Base addtess: 网卡当中的物理位置
命令名称:mail (邮件命令)
执行权限:所有用户
语法:mail [用户名]
功能描述:查看发送电子邮件
发送:ctrl + D
查询: mail
例子: mail root
[图片上传中...(-d00bb9-1591253201012-0)]
命令名称:last
执行权限:所有用户
语法:last
功能描述:列出目前和过去登入系统的用户信息
命令名称:traceroute
执行权限:所有用户
语法:traceroute
功能描述:显示数据包到主机的路径
例子: traceroute
命令名称:netstat
执行权限:所有用户
语法:netstat [选项]
功能描述:显示网络相关信息
选项:
-t : TCP协议
-u : UDP协议
-l : 监听
-r : 路由
-n : 显示IP地址和端口号
例子:
netstat -tlun 查看本机监听的端口
netstat -an 查看本机所有网络链接
netstat -rn 查看本届路由表
命令名称:setup
执行权限:root
语法:setup
功能描述:配置网络(永久生效)
例子: setup
注意:配置网络结束后要重启网络服务
service network restart
挂在命令
命令名称:mount
执行权限:所有用户
语法:mount[-t 文件系统] 设备文件
例子: mount -t iso9660/dev/sr0/mnt/cdrom
命令名称:shutdown
[root@localhost~]#shutdown [选项] 时间
选项:- c : 取消前一个关机命令
- h:关机
- r :重启
特点:可以正确的关闭和保存服务,建议实用
其他关机命令
halt
poweroff (直接断电)
init 0
重启命令
reboot
init6
补充:init _ 的数字含义
init0 关机
init1 单用户(启动最小最核心的服务)
init2 不完全多用户,不含NFS服务(network file system 网络文件系统)
init3 完全多用户
init4 未分配
init5 图形界面
init6 重启
查询系统运行级别
runlevel
退出登录命令
logout
列出当前目录的文件
常用参数:
-a: 显示当前目录的所有文件,包含隐藏文件;
-l: 显示文件详情;
-Z: 显示文件的 SE Linux context。
示例:ls -laZ [if !vml] [endif] 以 acct 为例: drwxr-xr-x:其中 d 代表该文件为目录,若为 l 则为软链接,软连接后又箭头代表其实际指向的文件,如etc - /system/etc 则访问 etc 实际等同访问/system/etc,留空则代表该文件为一个文件;rwxr-xr-x 代表其权限为 755,具体算法为将上述字段每 3 个分为 1 组得 rwx,r-x,r-x,凡是有字母标记的皆计数 1,反之为 0,得二进制 111,101,101,转为 10 进制数字即得7, 5,5 ,即为该文件权限; root root :依次代表该文件的所有者(owner)为 root,用户组(group)为 root,上述属性可通过 chown 命令修改,日常替换文件需与原文件该属性维持一致; unlabeled:代表 SE Linux context。
前往指定目录
更改文件所有者和用户组 示例:chown root:root temfile 将 tmpfile文件 的所有者和用户组从 meidia:media 更改为 root:root
将文件内容显示出来。
注意不要随便去 cat 一个很大的文件或与 log 驱动节点无关的文件,否则将造成串口输出乱码或死机!!!示例:cat /proc/kmsg 将打印出所有 kernel log。
用于抓取 android logcat 打印。
常用参数:
-v : 设置打印格式,可用选项为 brief process tag thread raw time threadtime long,我们比较常用 logcat -v time,此时抓的 log 将在每一行开头添加时间信息;
-s : 设置过滤器,过滤器的选择取决于软件中打印 log 时使用的 TAG ,如
ActivityManagerService.java 中的打印使用的 TAG = ActivityManager,则抓相关打印方法为 logcat -s ActivityManager;
-c : 清除 log 缓存,常用于清除之前的打印缓存,如复现某个必现问题,则可先执行 logcat -c 再抓 logcat 重现必现手法以排除无关 log 冗余信息影响问题定位; pm
包管理命令,用于管理安卓 app 应用。
常用参数:
-l : 显示所有安装包应用,等同于 pm list packages
以 package:/system/priv-app/Launcher2.apk=com.android.launcher 为例:
Apk Launcher2 路径位于/system/priv-app/Launcher2.apk,其包名为 com.android.launcher
path : 根据报名返回所在 apk 路径
install : 安装 apk
-r :安装一个已经存在的 apk 并保留其数据;
-d : 允许降级安装
如:pm install -r xxx.apk
uninstall : 卸载 apk,命令仅支持卸载 data/app,后接包名;
如:pm uninstall com.sys.migusmartlink.ott.tv //卸载包名为 com.sys.migusmartlink.ott.tv 的 apk
随机测试指令,会自动模拟一些用户操作对 APP 进行压力测试。
常用参数:
-p :指定启动的 APK,我们比较常用的是 monkey -p com.xxx.yyy 1 来启动一个 apk 的随机页面。
用于启动和管理 activity 和 service
常用参数:
start : 后接 intent 启动一个页面;
startservice : 后接 intent 启动一个 service; stopservice :后接 intent 停止一个 service; broadcast :后接一个 intent 发送一个广播; kill :后接一个 app 包名,杀掉该 app 所有进程;在 shell 环境下用如下参数表述一个 intent:
[-a ACTION] [-d DATA_URI] [-t MIME_TYPE]
[-c CATEGORY [-c CATEGORY] ...]
[-e|--es EXTRA_KEY EXTRA_STRING_VALUE ...]
[--esn EXTRA_KEY ...]
[--ez EXTRA_KEY EXTRA_BOOLEAN_VALUE ...]
[--ei EXTRA_KEY EXTRA_INT_VALUE ...]
[--el EXTRA_KEY EXTRA_LONG_VALUE ...]
[--ef EXTRA_KEY EXTRA_FLOAT_VALUE ...]
[--eu EXTRA_KEY EXTRA_URI_VALUE ...]
[--ecn EXTRA_KEY EXTRA_COMPONENT_NAME_VALUE]
[--eia EXTRA_KEY EXTRA_INT_VALUE[,EXTRA_INT_VALUE...]]
[--ela EXTRA_KEY EXTRA_LONG_VALUE[,EXTRA_LONG_VALUE...]]
[--efa EXTRA_KEY EXTRA_FLOAT_VALUE[,EXTRA_FLOAT_VALUE...]]
[-n COMPONENT] [-f FLAGS]
示例:
如我们在 logcat 抓到如下打印启动了播放器:
START u0 {act=android.intent.action.VIEW dat=[4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 typ=video/* flg=0x13000000 cmp=com.meson.videoplayer/.VideoPlayer} from pid 15204
则我们可以使用如下 am 指令来启动它:
am start -a android.intent.action.VIEW -d [4KH265_60.000fps_9Mbps]Wetek-Astra-2m.mp4 -t video/* -f 0x13000000 -n com.meson.videoplayer/.VideoPlayer am start -n com.android.settings/.Settings //启动原生安卓设置主页
am broadcast -a com.chinamobile.action.KEY_PRESS_DOWN --ei keyCode 11 am broadcast -a com.chinamobile.action.IR_TEST --es irphycode "0x008EDD22" //发送广播
查找命令,查找文件中是否包含指定字符串并输出该行示例:
grep -rns "repeat" /system/etc/remote1.conf //找出/system/etc/remote1.conf 所有包含 repeat 的行并展示行号
参数说明:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
命令示例:cp -a a parentPath/sonPath/ a对应当前文件夹下目录或文件名 可替换为绝对路径
移动指令,等效于 windows 的移动和重命名。
示例:
mv /data/tmp1 /data/local/tmp2 //将 data/tmp1移动到/data/local/ 并重命名为 tmp2
删除指令,用于删除文件和文件夹,示例:
rm -rf tmp // 删除 tmp,建议加上-rf参数,其会删除 tmp 所有的目录和文件。
创建目录。常用参数:
-p :若 mkdir -p 后接路径包含不存在路径则一并创建。
同步命令,常用于 cp 替换文件或指令结束后同步状态,有益无害。
重定向,即将一个命令的输出指向另外路径的文件,使用覆盖模式,即重定向到的文件若存在将覆盖里面的内容。
示例:
logcat /data/xxx.log; //将 logcat输出到/data/xxx.log;
cat /proc/kmsg /data/kmsg.log; //将 kmsg 打印输出重定向到/data/kmsg.log
重定向,即将一个命令的输出指向另外路径的文件,使用拼接模式,即重定向到的文件若存在则将输出拼接到原文件的后面。
示例:
logcat /data/xxx.log; //例如我们做 netreboot的时候需要每一次开关机的 log,则会用拼接模式记录log。
将指令放至后台静默执行。
依次执行指令,若有指令执行失败,则后续指令不会执行。
示例:
logcat -c logcat //先清除 logcat 缓存再抓取 log
Linux常用的命令可以分为以下几类:安装和登录命令、文件处理命令、系统管理相关命令、网络操作命令、系统安全相关命令、其它命令。
安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab。
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup。
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
Linux简介
Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。
它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流