linux笔记( 更新中)
来源:互联网 发布:js table.rows 编辑:程序博客网 时间:2024/06/03 19:48
- 帮助手册命令 man
- Linux 下修改 root 密码方法
- 权限
- 查看服务
- 常用目录
- 常用命令
- 文件系统
- Swap
- vi
- Bash
- scripts
- 账号管理
- 配额 Quota
- Raid 磁盘阵列
- 定时任务
- 参考
帮助手册命令 man
man命令:可以通过一些参数,快速查询linux帮助手册,并且格式化显示。
Linux 下修改 root 密码方法
passwd root
权限
chgrp :改变文件所属群组chown -R:改变文件拥有者chmod :改变文件的权限, SUID, SGID, SBIT等等的特性 su - user1 切换身份user1
查看服务
/etc/services /etc/init.d/ 启动脚本处 /etc/* :各服务各自的配置文件 service --status-all 查看所有服务
常用目录
/etc 主要配置文件/bin 常用执行文件/sbin 重要的系统执行文件/dev 存放设备文件/dev/null 垃圾桶/home 用户目录/media /mnt 挂载外部装置/opt 第三方协议软件 习惯放/usr/local/proc 虚拟文件,存放内存数据:系统cpu、网络../ (root, 根目录): 与开机系统有关;/usr (unix software resource):与软件安装/执行有关;/usr/local/ 自己下载的软件安装目录/var (variable): 与系统运作过程有关的常态性变动的文件:缓存、log等。/etc/issue 配置开机画面显示/etc/motd 配置登录显示
常用命令
双击tab 获取所有可能的命令,极其方便!ls -alh list所有文件包括隐藏文件set 获取所有变量,包含bash接口配置相关echo $$ 当前shell的PIDecho $? 返回上个命令的执行结果env/export 显示所有环境变量echo $PATH 显示环境变量中的PATHPATH=$PATH:/home/dmtsai/bin 增加目录到变量export var1 使其变为环境变量,可以让子shell使用echo $(uname -r) 显示系统版本uname -a 显示系统架构设置变量 name=justin取消变量 unset name命令中使用其他命令 $(command)创建目录: mkdir /tmp/chapter7_1修改属性: chown -R dmtsai:users /tmp/chapter7_1修改权限: chmod -R 755 /tmp/chapter7_1//SUID/SGID/SBIT 权限配置--> 要有x权限 4 为 SUID 暂时将具有该程序拥有者 (owner) 的权限; 2 为 SGID 暂时获得得该程序群组的支持 1 为 SBIT wx权限下,仅有自己与 root 才有权力删除该文件观察文件类型: file搜索命令完整路径: which搜索文件: whereis whereis 与 locate 是利用数据库来搜寻数据 updatedb 手动更新数据库 find 强大的搜寻命令,但时间花用的很大! 因为 find 是直接搜寻硬盘df -h 获取目前挂载的设备,整体磁盘使用量du -sh 获取文件所占容量dumpe2fs 查询每个区段与 superblock 的信息ln -s /etc/crontab crontab2 创建符号链接,类似windows 的快捷方式read -p "Please keyin your name: " -t 30 named 读取键盘输入declare 声明变量ulimit -a 显示当前用户的数据限制值last 显示登陆者信息alias 显示当前所有的命令别名,设置别名unalias 取消别名history 使用过的命令历史type -a 获取命令搜寻顺序!comand 运行最近命令开头为command的命令source/. 读入环境配置文件,可以直接在父程序运行脚本//输入输出标准输入 (stdin) :代码为 0 ,使用 < 或 << ;标准输出 (stdout):代码为 1 ,使用 > 或 >> ;标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;重定向操作符(&>)将标准输出和错误输出同时送到同一文件//pipe|grep|cut|sort|uniq|wc|tee test.txt 双向重导向,分送到文件去与屏幕stdout,可以让下个命令继续使用 - 减号 可以取用前一个命令的 stdout //正则grep '^ha' test.txt -n 单引号中使用正则sed 将数据 standard input 进行取代、删除、新增、撷取特定行等 e.g: nl test.txt |sed '2,3d' sed 's/要被取代的字串/新的字串/g'printf 格式化输出awk '条件类型1{动作1} 条件类型2{动作2} ...' filename 处理数据diff/cmp 比对两个文件//test 检查工具, 判断文件属性等
文件系统
Linux 的正统文件系统则为 Ext2 (Linux second extended file system, ext2fs)这一个。此外,在默认的情况下,windows 操作系统是不会认识 Linux 的 Ext2 的。
inode 表 每个文件都仅会占用一个 inode 而已,记录文件的属性及该文件实际数据是放置在哪几号 block 内;
data block是用来放置文件内容数据地方,在 Ext2 文件系统中所支持的 block 大小有 1K, 2K 及 4K 三种而已
一般来说,我们将 inode table 与 data block 称为数据存放区域,至于其他例如 superblock、 block bitmap 与 inode bitmap 等区段就被称为 metadata (中介数据) 啰,因为 superblock, inode bitmap 及 block bitmap 的数据是经常变动的,每次新增、移除、编辑时都可能会影响到这三个部分的数据
Swap
- swap 的功能就是在应付物理内存不足的情况下所造成的内存延伸记录的功能。
- 当物理内存不够时,则某些在内存当中所占的程序会暂时被移动到 swap 当中,让物理内存可以被需要的程序来使用。另外,如果你的主机支持电源管理模式, 也就是说,你的 Linux 主机系统可以进入『休眠』模式的话,那么, 运行当中的程序状态则会被纪录到 swap 去,以作为『唤醒』主机的状态依据! 另外,有某些程序在运行时,本来就会利用 swap 的特性来存放一些数据段, 所以, swap 来是需要创建的!只是不需要太大!
vi
0/Home 移动到行前$/End 移动到行尾[Ctrl] + [f] 向下移动一页[Ctrl] + [b] 向上移动一页G 移动到这个档案的最后一行gg/1G 移动到第一行u 撤销o 当前位置下创建一行O 当前位置上创建一行dd 删除光标所在行x 删除光标后字符X 删除光标前字符yy 复制当前行p 粘贴J 当前行连接下一行v 字符选择V 行选择ctrl+v 区块选择y 复制选择d 删除选择/word 搜寻字符串 ,光标之上?word 搜寻字符串,光标之下n 继续搜索vim 后面同时接好几个档案可同时开启 :n 编辑下一个档案:N 编辑上一个档案:files 列出目前这个 vim 的开启的所有档案//多窗口:sp [filename] 开启一个新窗口[ctrl]+w+↓ 移到下方窗口[ctrl]+w+↑ 移到上方窗口
Bash
/etc/shells 查看可用的shell/etc/passwd 查看不同用户取得的默认shell/.bash_history 这个隐藏目录保存了使用的命令历史\+[Enter] 避免命令太长,多行使用
scripts
- date +%Y%m%d 获取今天日期
- script 的运行方式差异 (source, sh script, ./script)
善用判断式
- test
[ “VBird Tsai” == “VBird” ]
-e 该『档名』是否存在?(常用)-f 该『档名』是否存在且为文件(file)?(常用)-d 该『档名』是否存在且为目录(directory)?(常用)-a (and)两状况同时成立。-o (or)两状况任何一个成立。! 反相状态,如 test ! -x file ,当 file 不具有 x 时,回传 true-eq 两数值相等 (equal)-ne 两数值不等 (not equal)-gt n1 大於 n2 (greater than)-lt n1 小於 n2 (less than)-ge n1 大於等於 n2 (greater than or equal)-le n1 小於等於 n2 (less than or equal)
Shell script 的默认变量(
0, 1…)条件判断式
//单条件if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的命令工作内容;fi //多条件if [ 条件判断式一 ]; then 当条件判断式一成立时,可以进行的命令工作内容;elif [ 条件判断式二 ]; then 当条件判断式二成立时,可以进行的命令工作内容;else 当条件判断式一与二均不成立时,可以进行的命令工作内容;fi//casecase $变量名称 in "第一个变量内容") 程序段 ;; "第二个变量内容") 程序段 ;; *) 不包含第一个变量内容与第二个变量内容的其他程序运行段 exit 1 ;;esac
循环
//满足条件才开始循环while [ condition ] do 程序段落done //满足才结束until [ condition ]do 程序段落done//固定循环for var in con1 con2 con3 ...do 程序段donefor (( 初始值; 限制值; 运行步阶 ))do 程序段done
函数
function fname() { 程序段}
检查语法错误
sh [-nvx] scripts.sh
账号管理
- uid和gid
涉及目录
/etc/passwd/etc/group/etc/shadowgroups 查看所有支持的群组newgrp 有效群组的切换w/who 查询已登录的用户useradd 增加用户 参考: /etc/default/useradd /etc/login.defs /etc/skel/*passwd [用户] 修改用户密码 echo "abc543CC" | passwd --stdin vbird2userdel -r home 删除用户id [username] 查询uid和gidgroupaddgroupmod group 相关参数的修改groupdelgpasswd 群组管理员功能//acl 权限setfacl getfacl filename//切换su - username 或 su -l username 切换用户su - -c "命令串" 只运行一次root命令sudo 以其他用户的身份运行命令( /etc/sudoers 内的用户才能够运行 sudo 这个命令) e.g: sudo -u sshd touch /tmp/mysshdvisudo 修改sudo配置//使用者对话write 使用者账号 [用户所在终端接口] 指定用户发送信息wall [message] 对所有系统上面的用户传送简讯
PAM(Pluggable Authentication Modules 嵌入式授权模块)
- 用户输入指令,呼叫 PAM 模块进行验证
- PAM 模块会到 /etc/pam.d/ 找寻与程序 (passwd) 同名的配置文件
- 将验证结果 (成功、失败以及其他信息) 回传给用户指令程序
程序会根据 PAM 回传的结果决定下一个动作
检查工具
pwck 检查用户配置信息grpck 检查用户组配置信息pwconv 用户同步化将 /etc/passwd 内的账号与口令,移动到 /etc/shadow
配额 Quota
- 限制 filesystem的 容量等
涉及目录,命令
/etc/fstab/etc/mtab 文件系统是否支持配额/etc/warnquota.conf 警告信息设置quotaon -auvg 开启服务quotaoff 关闭服务edquota 编辑限制额度 -t 宽限时间 -u 用户 -g 用户组quota -uvs myuser && quota -gvs myuser 查看配额repquota -auvs 查看整个文件系统的配额
Raid 磁盘阵列
- 一个磁盘容量不够时,这种机制将多个较小的磁碟整合成为一个较大的磁碟装置, 便于使用
- fdisk 命令
定时任务
单次任务 at
/etc/init.d/atd restartchkconfig atd on 配置自动启动/var/spool/at/ 日志记录/etc/at.allow 使用者配置/etc/at.deny 不能使用者配置at -c n 查询第n个任务at now + 5 minutes 创建任务batch 23:00 2009-3-17 系统空间时开始任务atq 查询所有单次任务atrm n 将第n个任务删除
循环任务 crontab
/etc/crontab 系统任务/usr/bin/crontab 用户任务/etc/cron.allow/etc/cron.deny/var/spool/cron/[user] 任务创建日志记录/var/log/cron 任务运行日志记录crontab -e 编辑任务 e.g: 59 23 1 5 * mail kiki < /home/dmtsai/lover.txtcrontab -l 查看所有任务run-parts 遍历目录中所有文件运行anacron 运行crontab 关机期间没有运行的任务
参考
- 鸟哥的私房菜
阅读全文
0 0
- linux 笔记 更新中...
- linux笔记( 更新中)
- Linux学习笔记(每日更新中)
- linux学习笔记(更新中。。。)
- Linux指令笔记(更新...)
- linux vim的使用方法笔记(长期更新中)
- jQuery笔记(更新中...)
- 开发笔记(更新中...)
- Oralce笔记(更新中...)
- python笔记[更新中]
- openstack笔记,更新中...
- Linux常用命令(更新中)
- linux常用命令更新中
- linux学习笔记[正在更新]
- Linux常用命令笔记(更新)
- linux 学习笔记---缓慢更新
- linux学习笔记,持续更新
- Linux学习笔记-长期更新
- Inside Buffer Optimizing for Slow Motion Video in iOS
- 李飞飞访谈:AI以人为本——之笔者见
- Scala Option(选项)
- java设计模式(精通系列)-factory
- 实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
- linux笔记( 更新中)
- XListView在activity中HttpURLConnection请求数据
- 为什么H5游戏多以轻度休闲游戏为主?
- CMake常见指令总结,修改的更加容易理解
- [RK3288][Android6.0] 音频输入接口Mic In和Line In
- Ios应用名国际化
- java 使用 comet4j 主动向客户端推送信息 简单例子
- spring boot 读取配置文件(application.yml)中的属性值
- Elastic Search快速上手(1):简介及安装配置