1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。
㈡ Linux常用命令全集
Linux运维人员必会的120个命令
跟老男孩学Linux运维:核心系统命令实战
前言
第1章 Linux命令行简介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令帮助 / 4
1.3Linux shutdown reboot halt / 9
关机:
shutdown -h now
halt
init 0
第2章 文件和目录操作命令 / 13
2.1pwd:显示当前所在的位置 / 13
2.2cd:切换目录 / 16
2.3tree:以树形结构显示目录下的内容 / 18
2.4mkdir:创建目录 / 22
2.5touch:创建空文件或改变文件的时间戳属性 / 27
2.6ls:显示目录下的内容及相关属性信息 / 30
2.7cp:复制文件或目录 / 39
2.8mv:移动或重命名文件 / 42
2.9rm:删除文件或目录 / 45
2.10rmdir:删除空目录 / 48
2.11ln:硬链接与软链接 / 49
2.12readlink:查看符号链接文件的内容 / 54
2.13find:查找目录下的文件 / 55
2.14xargs:将标准输入转换成命令行参数 / 68
2.15rename:重命名文件 / 71
2.16basename:显示文件名或目录名 / 72
2.17dirname:显示文件或目录路径 / 72
2.18chattr:改变文件的扩展属性 / 73
2.19lsattr:查看文件扩展属性 / 75
2.20file:显示文件的类型 / 76
2.21md5sum:计算和校验文件的MD5值 / 77
2.22chown:改变文件或目录的用户和用户组 / 80
2.23chmod:改变文件或目录权限 / 81
2.24chgrp:更改文件用户组 / 85
2.25umask:显示或设置权限掩码 / 86
2.26老男孩从新手成为技术大牛的心法 / 90
第3章 文件过滤及内容编辑处理命令 / 91
3.1cat:合并文件或查看文件内容 / 91
3.2tac:反向显示文件内容 / 103
3.3more:分页显示文件内容 / 104
3.4less:分页显示文件内容 / 107
3.5head:显示文件内容头部 / 109
3.6tail:显示文件内容尾部 / 111
3.7tailf:跟踪日志文件 / 114
3.8cut:从文本中提取一段文字并输出 / 115
3.9split:分割文件 / 117
3.10paste:合并文件 / 118
3.11sort:文本排序 / 123
3.12join:按两个文件的相同字段合并 / 127
3.13uniq:去除重复行 / 129
3.14wc:统计文件的行数、单词数或字节数 / 131
3.15iconv:转换文件的编码格式 / 133
3.16dos2unix:将DOS格式文件转换成UNIX格式 / 134
3.17diff:比较两个文件的不同 / 135
3.18vimdiff:可视化比较工具 / 138
3.19rev:反向输出文件内容 / 139
3.20tr:替换或删除字符 / 140
3.21od:按不同进制显示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:纯文本编辑器 / 147
3.24老男孩逆袭思想:做Linux运维的多个好处 / 152
第4章 文本处理三剑客 / 153
4.1grep:文本过滤工具 / 153
4.2sed:字符流编辑器 / 159
4.3awk基础入门 / 165
第5章 Linux信息显示与搜索文件命令 / 176
5.1uname:显示系统信息 / 176
5.2hostname:显示或设置系统的主机名 / 178
5.3dmesg:系统启动异常诊断 / 179
5.4stat:显示文件或文件系统状态 / 181
5.5:统计磁盘空间使用情况 / 183
5.6date:显示与设置系统时间 / 186
5.7echo:显示一行文本 / 190
5.8watch:监视命令执行情况 / 193
5.9which:显示命令的全路径 / 195
5.10whereis:显示命令及其相关文件全路径 / 196
5.11locate:快速定位文件路径 / 197
5.12updatedb:更新mlocate数据库 / 199
5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视 / 200
第6章 文件备份与压缩命令 / 201
6.1tar:打包备份 / 201
6.2gzip:压缩或解压文件 / 208
6.3zip:打包和压缩文件 / 211
6.4unzip:解压zip文件 / 212
6.5scp:远程文件复制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆袭思想:新手如何高效地提问 / 220
第7章 Linux用户管理及用户信息查询命令 / 222
7.1 useradd:创建用户 / 222
7.2usermod:修改用户信息 / 227
7.3userdel:删除用户 / 229
7.4groupadd:创建新的用户组 / 230
7.5groupdel:删除用户组 / 231
7.6passwd:修改用户密码 / 232
7.7chage:修改用户密码有效期 / 237
7.8chpasswd:批量更新用户密码 / 238
7.9su:切换用户 / 240
7.10visudo:编辑sudoers文件 / 242
7.11sudo:以另一个用户身份执行命令 / 244
7.12id:显示用户与用户组的信息 / 248
7.13w:显示已登录用户信息 / 249
7.14who:显示已登录用户信息 / 250
7.15users:显示已登录用户 / 252
7.16whoami:显示当前登录的用户名 / 253
7.17last:显示用户登录列表 / 253
7.18lastb:显示用户登录失败的记录 / 254
7.19lastlog:显示所有用户的最近登录记录 / 255
第8章 Linux磁盘与文件系统管理命令 / 257
8.1fdisk:磁盘分区工具 / 257
8.2partprobe:更新内核的硬盘分区表信息 / 265
8.3tune2fs:调整ext2/ext3/ext4文件系统参数 / 266
8.4parted:磁盘分区工具 / 268
8.5mkfs:创建Linux文件系统 / 272
8.6mpe2fs:导出ext2/ext3/ext4文件系统信息 / 274
8.7resize2fs:调整ext2/ext3/ext4文件系统大小 / 275
8.8fsck:检查并修复Linux文件系统 / 278
8.9dd:转换或复制文件 / 281
8.10mount:挂载文件系统 / 284
8.11umount:卸载文件系统 / 288
8.12df:报告文件系统磁盘空间的使用情况 / 289
8.13mkswap:创建交换分区 / 293
8.14swapon:激活交换分区 / 294
8.15swapoff:关闭交换分区 / 295
8.16sync:刷新文件系统缓冲区 / 296
第9章 Linux进程管理命令 / 298
9.1ps:查看进程 / 298
9.2pstree:显示进程状态树 / 305
9.3pgrep:查找匹配条件的进程 / 306
9.4kill:终止进程 / 307
9.5killall:通过进程名终止进程 / 310
9.6pkill:通过进程名终止进程 / 311
9.7top:实时显示系统中各个进程的资源占用状况 / 313
9.8nice:调整程序运行时的优先级 / 320
9.9renice:调整运行中的进程的优先级 / 323
9.10nohup:用户退出系统进程继续工作 / 324
9.11strace:跟踪进程的系统调用 / 325
9.12ltrace:跟踪进程调用库函数 / 332
9.13runlevel:输出当前运行级别 / 334
9.14init:初始化Linux进程 / 335
9.15service:管理系统服务 / 335
第10章 Linux网络管理命令 / 338
10.1ifconfig:配置或显示网络接口信息 / 338
10.2ifup:激活网络接口 / 343
ifup eth0
10.3ifdown:禁用网络接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整个网络,所有网卡。
10.4route:显示或管理路由表 / 344
10.5arp:管理系统的arp缓存 / 350
10.6ip:网络配置工具 / 351
10.7netstat:查看网络状态 / 358
10.8ss:查看网络状态 / 362
10.9ping:测试主机之间网络的连通性 / 363
10.10traceroute:追踪数据传输路由状况 / 366
10.11arping:发送arp请求 / 367
10.12telnet:远程登录主机 / 369
10.13nc:多功能网络工具 / 370
10.14ssh:安全地远程登录主机 / 373
10.15wget:命令行下载工具 / 376
10.16mailq:显示邮件传输队列 / 379
10.17mail:发送和接收邮件 / 381
10.18nslookup:域名查询工具 / 386
10.19dig:域名查询工具 / 389
10.20host:域名查询工具 / 393
10.21nmap:网络探测工具和安全/端口扫描器 / 394
10.22tcpmp:监听网络流量 / 398
第11章 Linux系统管理命令 / 407
11.1lsof:查看进程打开的文件 / 407
11.2uptime:显示系统的运行时间及负载 / 411
11.3free:查看系统内存信息 / 411
11.4iftop:动态显示网络接口流量信息 / 413
11.5vmstat:虚拟内存统计 / 415
11.6mpstat:CPU信息统计 / 419
11.7iostat:I/O信息统计 / 420
11.8iotop:动态显示磁盘I/O统计信息 / 423
11.9sar:收集系统信息 / 425
11.10chkconfig:管理开机服务 / 430
11.11ntsysv:管理开机服务 / 433
11.12 setup:系统管理工具 / 434
11.13ethtool:查询网卡参数 / 436
11.14mii-tool:管理网络接口的状态 / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自动化RPM包管理工具 / 446
top命令
第12章 Linux系统常用内置命令 / 450
12.1Linux内置命令概述 / 450
12.2Linux内置命令简介 / 450
12.3Linux常用内置命令实例 / 452
㈢ linux常用安装软件的命令
一、在线安装
1、软件管理中心安装。(ubuntu)1)更新源sudo apt-get update2)打开软件中心,搜索你要安装的软件,双击安装即可。例如安装apache,如下图
2、命令行安装方式
1)更新,命令:apt-get update
2)查找你要安装的软件,apt-cache search “软件名”
3)apt-get install 软件名
以上在线的两种方式都提到了apt-get 方式,那么它的工作原理简单说明一下,apt-get相关的有两个重要文件:1、是/etc/sources.list,2、是/var/lib/apt/lists/目录.
当我们执行apt-get update程序分析sources.list看这个文件里是否有对应的Packages/Sources/Release列表文件,如果有更新则下载之,存入/var/lib/apt/lists/目录(其实就是保持与当前系统版本软件源表最新);apt-get install 安装相应的包 ,下载并安装。
这种方式的好处在于:如果你想要加载的应用需要依赖另一个应用程序才能正常工作,apt-get会帮你找到并加载所需的程序库或应用代码,这种方式是比较常用的的。比如我们执行apt-get install mysql-server,可以看到相关的依赖包(如图)
二、线下安装
之所以叫线下的安装方式,也就是说你要把软件下载到本地去安装。一般我们下载的文件后缀名都是zip、tar.gz等压缩包,解压后会看到rpm、bin、deb、run之类扩展名文件。很多软件都会提供不同LINUX版本的安装格式,你可以根据自己的系统下载不同扩展名的软件。
1、rpm安装包:这时一款老牌的安装格式,是红帽创建的安装格式,现在已成为一种标准,常用在opensuse/turbo/redhat版本),安装方法rpm -ivh 软件名.rpm (如果只是安装一个i参数就够了,如果还要看安装进度和软件信息就加个vh)
2、deb安装包:DEB是Debian软件包格式的文件扩展名,常用在centos/ubuntu,在苹果系统里也常见此安装方式。安装方法:dpkg -i 软件名.deb
3、run安装包:以QT(一种编程工具)的安装文件为例,
1)授权: chmod x qt-unified-linux-x64-2.0.2-2-online.run
2)执行:./qt-unified-linux-x64-2.0.2-2-online.run即可安装。
4、bin安装包:bin包是一个自解压格式的安装包,要想执行它,需要先赋予它可执行的权限。
(以安装jdk为例)# chmod x jdk-6u21-linux-i586.bin# ./jdk-6u21-linux-i586.bin
5、编译后安装方式:
举例安装nagios插件(nagios是一种开源的监控软件,需要多种插件支持监控模块)
1)cd /tmp/nagios-plugins-* //先进入目录
2)./configure --with-nagios-user=nagios --with-nagios-group=nagios // 配置,即安装的用户安装的路径都可在此设置,这一步一般用来生成 Makefile,为下一步的编译做准备
3)make //编译过程如果 在 make 过程中出现 error ,你就要记下错误代码,缺少什么包就按照什么包。
4) make install //如果make无问题就可以直接安装了。
这种安装方法的好处是你可以自定义安装路径、安装账号等参数,常见开源平台下载的源码安装方式。
6、其它,还有一些软件解压后生成的文件夹内包含很多文件,一般文件夹内有install.sh、setup.py等安装文件方式,此种方式类似windows的exe安装方式,你需要先授权该文件的可执行权限,在执行安装。以上基本上囊括了所有的Linux环境下的软件安装方式,供各位参考。
㈣ linux查找内容命令
find,用于在文件树中查找文件并作相应的处理
-name:按照文件名查找文件
-perm:按照文件权限查找文件
-user:按照文件属主来查找文件
-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】
-group:按照文件所属的组来查找文件
-mtime<-n><+n>:按照文件更改时间来查找文件,-n表示n天之内,+n表示n天以前
-newer file1 file2:查找更改时间在file1和file2之间的文件
例如:
find -mtime -2:查找48小时修改过的文件
find -name ".log":查找当前目录以".log"结尾的文件
find /opt/soft/test -perm 777:查找指定目录下权限为777的文件
find -type f -name "*.log":查找当前目录下以".log"结尾的普通文件
find -type d | sort:查找当前所有目标目录并排序
find /home/wansw -size +20M:查找大于20M的文件
locate指令,可以快速定位文件路径,利用事先建立的系统中的所有文件名称和路径的locate数据库,无需遍历整个文件系统,查询速度较快,为了保证查询准确性,需要定期更新。《Linux就该这么学》
updatedb:第一次运行前,创建locate数据库
grep,用于过滤/搜索指定字符串。可以使用正则表达式,能配合多种命令使用。
用法:grep 【选项】 查找内容 源文件
-A:显示符合的行及之后的内容
-B:显示符合的行及之前的内容
-C:显示符合的行及前后的内容
-c:计算符合的行数目
-n:显示匹配行和行号
-i:忽略大小写
规则表达式
:'grep'表示匹配所有以grep开头的行
'表示匹配所有以grep结尾的行
.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'
:'grep'表示匹配一个或多个空格后紧跟grep的行
[]:[Gg]rep表示匹配Grep与grep
[]:[A-FH-Z]rep表示匹配不以A-F、H-Z开头并紧跟rep的行
例如(grep命令大多数时候多要和别的命令一起使用才有意义):
ps -ef | grep -c SVN:查找指定的进程的个数
cat test.txt | grep -f test2.txt:从text2.txt中读取关键字后在test.txt中搜索
cat test.txt | grep nf text2.txt:从text2.txt中读取关键字后在text.txt中搜索并显示行号
grep 'linux' text.txt test2.txt:从多个文件中搜索关键字'linux'
cat test.txt | grep -E 'ed|at':显示包含ed或at的行
㈤ Linux命令,在线等
为当前用户创建cron服务
1. 键入 crontab -e 编辑crontab服务文件
例如 文件内容如下:
*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh
保存文件并并退出
*/2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh
*/2 * * * * 通过这段字段可以设定什么时候执行脚本
/bin/sh /home/admin/jiaoben/buy/deleteFile.sh 这一字段可以设定你要执行的脚本,这里要注意一下bin/sh 是指运行 脚本的命令 后面一段时指脚本存放的路径
2. 查看该用户下的crontab服务是否创建成功, 用 crontab -l 命令
3. 启动crontab服务
一般启动服务用 /sbin/service crond start 若是根用户的cron服务可以用 sudo service crond start, 这里还是要注意 下 不同版本linux系统启动的服务的命令也不同 ,像我的虚拟机里只需用 sudo service cron restart 即可,若是在根用下直接键入service cron start就能启动服务
4. 查看服务是否已经运行用 ps -ax | grep cron
5. crontab命令
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
任务调度的crond常驻命令
crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此
任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工
作便会自动执行该工作。
6. crontab命令选项:
-u指定一个用户
-l列出某个用户的任务计划
-r删除某个用户的任务
-e编辑某个用户的任务
7. cron文件语法:
分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)
记住几个特殊符号的含义:
“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字
8. 任务调度设置文件的写法
可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件
具体格式如下:
Minute Hour Day Month Dayofweek command
分钟 小时 天 月 天每星期 命令
每个字段代表的含义如下:
Minute 每个小时的第几分钟执行该任务
Hour 每天的第几个小时执行该任务
Day 每月的第几天执行该任务
Month 每年的第几个月执行该任务
DayOfWeek 每周的第几天执行该任务
Command 指定要执行的程序
在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选
字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。
举例如下:
5 * * * * ls 指定每小时的第5分钟执行一次ls命令
30 5 * * * ls 指定每天的 5:30 执行ls命令
30 7 8 * * ls 指定每月8号的7:30分执行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令
30 6 * * 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,
以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]
30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]
25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]
*/15 * * * * ls 每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]
30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls 命令。 ]
每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件
50 7 * * * root run-parts /etc/cron.daily [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。 ]
9. 新增调度任务
新增调度任务可用两种方法:
1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。
10. 查看调度任务
crontab -l //列出当前的所有调度任务
crontab -l -u jp //列出用户jp的所有调度任务
11. 删除任务调度工作
crontab -r //删除所有任务调度工作
12. 任务调度执行结果的转向
例1:每天5:30执行ls命令,并把结果输出到/jp/test文件中
30 5 * * * ls >/jp/test 2>&1
注:2>&1 表示执行结果及错误信息。
编辑/etc/crontab 文件配置cron
cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次 /etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号
HOME=/ //使用者运行的路径,这里是根目录
# run-parts
01 * * * * root run-parts /etc/cron.hourly //每小时执行
/etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行 /etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本
大家注意”run-parts”这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了
例如:
1) 在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
2)直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务
11 2 21 10 * rm -rf /mnt/fb
希望能帮到您!
㈥ linux文件权限命令
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:
$ ls-l sobsrc.tgz
-rw-r--r--1root root483997Ju1l517:3lsobsrc.tgz
横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。例如:
– rw- r– r–
普通文件 文件主 组用户 其他用户
是文件sobsrc.tgz 的访问权限,表示sobsrc.tgz是一个普通文件;sobsrc.tgz的属主有读写权限;与sobsrc.tgz属主同组的用户只有读权限;其他用户也只有读权限。
确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。
下面分别对这些命令加以介绍。
chmod 命令
chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
以主文件夹下的一个名为“cc”的文件夹为例。下面一步一步介绍如何修改权限:
1.打开终端。输入”su”(没有引号)
2.接下来会要你输入密码,输入你的root密码。
3.假设我的文件夹在主目录里,地址为 /var/home/dengchao/cc 。假设我要修改文件权限为777,则在终端输入 chmod 777 /var/home/userid/cc 文件夹的权限就变为了777。
如果是修改文件夹及子文件夹权限可以用 chmod -R 777 /var/home/userid/cc
具体的权限(例如777的含意等)在下面解释下:
1.777有3位,最高位7是设置文件所有者访问权限,第二位是设置群组访问权限,最低位是设置其他人访问权限。
其中每一位的权限用数字来表示。具体有这些权限:
r(Read,读取,权限值为4):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。
w(Write,写入,权限值为2):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
x(eXecute,执行,权限值为1):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
2. 首先我们来看如何确定单独一位上的权限数值,例如最高位表示文件所有者权限数值,当数字为7时,7用“rwx”表示 –{4(r)+2(w)+1(x)=7}–又如果数值为6,则用“rw-”表示–{4(r)+2(w)+0(x)=6}–,”-”表示不具备权限,这里表 示不具备“执行”权限。
假如我们设定其他用户的访问权限为 “r–”,则数值为4+0+0=4
一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则用1表示,没有则有0表示,那么rwx则可以表示成为:111
而二进制的111就是7。
3.我们再来看下怎么确定3个数位上的权限。假如我们要给一个文件设置权限,具体权限如下:
文件所有者有“读”、“写”、“执行”权限,群组用户有“读”权限,其他用户有“读”权限,则对应的字母表示为”rwx r– r–“,对应的数字为744
一般都是最高位表示文件所有者权限值,第二位表示群组用户权限,最低位表示其他用户权限。
下面来举些例子熟悉下。
权限 数值
rwx rw- r– 764
rw- r– r– 644
rw- rw- r– 664
该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1. 文字设定法
chmod [who] [+ | – | =] [mode] 文件名¼
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+ 添加某个权限。
– 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
-c:若该档案权限确实已经更改,才显示其更改动作
-f:若该档案权限无法被更改也不要显示错误讯息
-v:显示权限变更的详细资料
-R:对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help:显示辅助说明
–version:显示版本
文件名:以空格分开的要改变权限的文件列表,支持通配符。在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example使同组和其他用户对文件example 有读权限。
例1:
$ chmod a+x sort
即设定文件sort的属性为:
文件属主(u) 增加执行权限
与文件属主同组用户(g) 增加执行权限
其他用户(o) 增加执行权限
例2:
$ chmod ug+w,o-x text
即设定文件text的属性为:
文件属主(u) 增加写权限
与文件属主同组用户(g) 增加写权限
其他用户(o) 删除执行权限
例3:
$ chmod u+s a.out
假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):
–rws--x--x1inin users7192Nov414:22a.out
并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw——-”,即该文件只有其属主具有读写权限。
当其他用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(由于chmod命令中使用了s选项),所以他就能够读取shiyan1.c这个文件(虽然这个文件被设定为其他人不具备任何权限),这就是s的功能。
因此,在整个系统中特别是root本身,最好不要过多的设置这种类型的文件(除非必要)这样可以保障系统的安全,避免因为某些程序的bug而使系统遭到入侵。
例4:
$ chmod a–x mm.txt
$ chmod–x mm.txt
$ chmod ugo–x mm.txt
以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。
2. 数字设定法
我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
数字设定法的一般形式为:chmod [mode] 文件名¼
例1:
$ chmod644mm.txt
$ ls–l
即设定文件mm.txt的属性为:
-rw-r--r--1inin users1155Nov511:22mm.txt
文件属主(u)inin 拥有读、写权限
与文件属主同组人用户(g) 拥有读权限
其他人(o) 拥有读权限
例2:
$ chmod750wch.txt
$ ls–l
-rwxr-x---1inin users44137Nov129:22wchtxt
即设定wchtxt这个文件的属性为:
文件主本人(u)inin 可读/可写/可执行权
与文件主同组人(g) 可读/可执行权
其他人(o) 没有任何权限
chgrp命令
功能:改变文件或目录所属的组。
语法:chgrp[选项] group filename¼
参数:
-c或–changes 效果类似”-v”参数,但仅回报更改的部分。
-f或–quiet或–silent 不显示错误信息。
-h或–no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件。
-R或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或–verbose 显示指令执行过程。
–help 在线帮助。
–reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
–version 显示版本信息。
该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
该命令的各选项含义为:
– R 递归式地改变指定目录及其下的所有子目录和文件的属组。
例1:
$chgrp-R book/opt/local/book
改变/opt/local /book/及其子目录下的所有文件的属组为book。
chown命令
功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户yusi,为了让用户yusi能够存取这个文件,root用户应该把这个文件的属主设为yusi,否则,用户yusi无法存取这个文件。
语法:chown[选项] 用户或组 文件
说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。
参数说明:
user : 新的档案拥有者的使用者 ID
group : 新的档案拥有者的使用者群体(group)
-c : 若该档案拥有者确实已经更改,才显示其更改动作
-f : 若该档案拥有者无法被更改也不要显示错误讯息
-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案
-v : 显示拥有者变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本
例1:把文件yusi123.com的所有者改为yusi。
$chownyusi yusi123.com
例2:把目录/demo及其下的所有文件和子目录的属主改成yusi,属组改成users。
$ chown-R yusi.users/demo
例如:chown qq /home/qq (把home目录下的qq目录的拥有者改为qq用户)
例如:chown -R qq /home/qq (把home目录下的qq目录下的所有子文件的拥有者改为qq用户)
㈦ linux 的基本命令
1.开机进入
---- Linux系统的开机同正常的DOS、Windows开关机顺序相同。若是多操作系统则在LILO boot:后输入Linux,就可进入Linux的注册提示符Login:,在其后输入用户名,在口令提示符password:输入口令,注册正确后,可进入相应的用户环境。如输入:root,及其密码,可进入超级用户环境#,输入其他用户名及口令,可进入该用户环境$。
---- 2.关机退出
---- 在超级用户提示符#下输入halt(立即关机)或shutdown time(延迟time分后关机,给各用户每隔一段时间发出还有多长时间将关机的警告)后,计算机将进行一系列的关机工作,最后出现System halt,就是关机结束,可以关闭电源了。非超级用户则需用exit退出操作环境,再进入超级用户环境,方可进行关机工作。
---- 3.命令操作注意事项
---- 在Linux中有一些与DOS不完全相同的地方,见下表:
DOS Linux
命令行字母 不区分大小写 区分大小写
提示符 #、$
路径分隔符 \ /
通配符 *、? *、?、[]
---- 在Linux系统中,超级用户的系统提示符是#,一般情况下普通用户的系统提示符是$,普通用户的系统提示符也同DOS一样可以进行更改。通配符中*与?的含义是一样的,[]是仅包括括号内的符号,连续的符号可用“-”连接首尾的符号代替,如[12345678]可以用[1-8]代替,[abcdefijk]可用[a-fi-j]表示。
---- 4.文件类型
---- 与DOS、Windows不同的是,在Linux系统中,目录和设备都被视为文件,共有四种文件类型,它们是:⑴普通文件,即我们通常所说的文件,在长列目录方式时行首前用一符号“-”表示。⑵目录文件,即我们通常所说的目录,在长列目录方式时行用首前用一字母“d”表示。⑶字符设备文件,如显示器、打印机、终端等,在长列目录方式时行首前用一字母 “c”表示。⑷块设备文件,如硬盘、软盘、光盘在长列目录方式时行首前用一字母“b”表示。
---- 在Linux中用长格式列目录命令ls -l时,如下例:
---- 文件类型
-rwxrw-r-- 5 user group 1089
Nov 18 1998 filename
存取权 用户 组名
字节数 最后修改时间 文件名
---- 大家对DOS下的8.3格式的文件名都一定很熟悉了,由于它的表达能力有限,所以在Windows95之后加入了长文件名支持,Linux继承了UNIX的优点,也可以用长长的一串字符作文件名。但是在Linux中文件类型可不像在DOS下那样容易从文件的扩展名上了解到,在DOS下的可执行文件的扩展名为com或exe,而在Linux中只能通过文件属性得知,采用命令ls –F可区分目录和文件,在目录后有“/”符号,可执行文件后有“*”符号,用ls –aF可见所有的文件和目录列出,包括隐藏的文件和目录,隐藏文件的文件名以点号“.”开头。
---- 5.读取权限
---- 在Linux中,文件的主人即所有者,其他使用者分别称为同组者、其他人,为保证各用户文件的安全,Linux同UNIX一样通过限制某些用户对文件的随意存取。共有三个级别的存取权:读权r、写权w、执行权x。在存取权中共有九个字符的位置其顺序是:所有者、同组人、其他人。在上例中分别表示:主人对文件拥有读写权和执行权,同组人对文件拥有读写权、其他人对文件只拥有读权。
---- 6.获取在线帮助命令
---- 在Linux中有一条专门用于取得在线帮助的命令man ,其使用方式为# man command。man有一套它自己的命令,通常由单个键组成,按空格键和F键将翻到下一页,按B键翻到上一页,按Q键退出man工具,回到命令行。掌握了以上的基础知识,结合熟知的DOS命令进行比较,对于学习Linux的基本命令就可以很快地运用自如,为进一步深入学习Linux打下深厚的基础.。
---- 二、文件管理和目录操作
---- 与DOS、Windows一样,在Linux中也有许多关于文件管理和目录操作方面的命令,对二者的主要命令列表如下:
---- 1.文件管理
功能 DOS Linux 注意事项
显示文件内容 type、more cat 、more type、cat
是全部显示,more是分页显示
打印文件 print lpr
拷贝文件 cp
移动文件及改名 move mv
删除文件 del, erase rm
---- 2.目录操作
功能 DOS Linux 注意事项
列目录及文件 dir/选项 ls –选项
在Linux中cd/直接返回登录时的目录而不是根目录,
显示工作目录 cd pwd
变更工作目录 cd\目录 cd/目录
建立目录 md,mkdir mkdir
删除目录 rd,rmdir rmdir
目录更名 move mv
拷贝目录 x
---- 在二者中,命令的格式都是一样的,只是选项、参数不相同而已,也可以进行组合操作,具体运用时可使用帮助命令,只不过Linux的命令的功能更为强大,据记载DOS中的不少命令都是借鉴UNIX而来的,而Linux正是居于UNIX发展起来的,这也是二者有着几乎相同的命令和格式的原因之一。
---- 三、软、硬盘及光驱的使用
---- 1.软、硬盘及光驱的使用
---- 在Linux中对其他硬盘逻辑分区、软盘,光盘的使用与我们通常在DOS与Windows中的使用方法是不一样的,不能直接访问,因为在Linux中它们都被视为文件,因此在访问使用前必须使用装载命令mount将它们装载到系统的/mnt目录中来,使用结束,必须进行卸载。命令格式如下:
mount –t 文件系统类型 设备名 装载目录
文件类型常用的有:
msdos dos分区文件
ext2 Linux的文件系统
swap Linux swap分区或swap文件
iso9660 安装CD-ROM的文件系统
vfat 支持长文件名的dos分区
hpfs OS/2分区文件系统
---- 设备名是指要装载的设备的名称,如软盘、硬盘、光盘等,软盘一般为/dev/fd0 fd1,硬盘一般为/dev/hda hdb ,硬盘逻辑分区一般为期hda1 hda2…等等,光盘一般为/dev/hdc。在装载前一般要在/dev/mnt目录下建立一个空的目录,如软盘为floppy,硬盘分区为其盘符如c、d等等,光盘为cd-rom,使用命令:
mount –t msdos /dev/fd0 /mnt/floppy
装载一个mddos格式的软盘
mount –t ext2 /dev/fd0 /mnt/floppy
装载一个Linux格式的软盘
mount –t vfat /dev/hda1 /mnt/c
装载Windows98格式的硬盘分区
mount –t iso9660 /dev/hdc /mnt/cd-rom
装载一个光盘
---- 装载完成之后便可对该目录进行操作,在使用新的软盘及光盘前必须退出该目录,使用卸载命令进行卸载,方可使用新的软盘及光盘,否则系统不会承认该软盘的,光盘在卸载前是不能用光驱面板前的弹出键退出的。
---- 2.格式化命令mkfs
---- 格式化软盘时不需事先安装空盘,只需将软盘放入软驱中,使用如下命令,便可格式化一张在Linux中使用的软盘:
#mkfs –t ext2 /dev/fd0 1440
---- 在熟悉以上基本命令之后,就可以进行其他命令的进一步学习,例如:文件编辑软件vi,存取权限的修改,检查修复文件系统,增减用户及修改密码,安装其他Linux文件,及一些Linux的实用工具软件,建立x-Windows图形界面,利用Linux上网等等,来增加对Linux的感性认识。
㈧ 《Linux命令行大全》pdf下载在线阅读,求百度网盘云资源
《Linux命令行大全》(绍茨 (William E.Shotts))电子书网盘下载免费在线阅读
链接:https://pan..com/s/1g3lqnqg0ZoFzod32L2wDkw
书名:Linux命令行大全
作者:绍茨 (William E.Shotts)
译者:郭光伟
豆瓣评分:8.1
出版社:人民邮电出版社
出版年份:2013-3-1
页数:428
内容简介:
《Linux命令行大全》主要介绍Linux命令行的使用,循序渐进,深入浅出,引导读者全面掌握命令行的使用方法。
《Linux命令行大全》分为四部分。第一部分开始了对命令行基本语言的学习之旅,包括命令结构、文件系统的导引、命令行的编辑以及关于命令的帮助系统和使用手册。第二部分主要讲述配置文件的编辑,用于计算机操作的命令行控制。第三部分讲述了从命令行开始执行的常规任务。类UNIX操作系统,比如Linux,包含了很多“经典的”命令行程序,这些程序可以高效地对数据进行操作。第四部分介绍了shell编程,这是一个公认的初级技术,并且容易学习,它可以使很多常见的系统任务自动运行。通过学习shell编程,读者也可以熟悉其他编程语言的使用。
《Linux命令行大全》适合从其他平台过渡到Linux的新用户和初级Linux服务器管理员阅读。没有任何Linux基础和Linux编程经验的读者,也可以通过本书掌握Linux命令行的使用方法。
作者简介:
William E. Shotts, Jr.,作为一名软件开发人员和狂热的Linux用户已经有15年之久。他在软件开发领域有广泛的背景,先后涉及过技术支持、质量保证和文档编写等工作。他还是LinuxCommand.org网站的创始人,该网站是一个Linux教育和宣传网站,以新闻、评论和为人们使用Linux命令行提供广泛支持而见长。