linux笔记( 更新中)

帮助手册命令 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的PID
echo $?           返回上个命令的执行结果
env/export        显示所有环境变量
echo $PATH        显示环境变量中的PATH
PATH=$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
    
    //case
    case  $变量名称 in   
      "第一个变量内容")   
        程序段
        ;;            
      "第二个变量内容")
        程序段
        ;;
      *)                  
        不包含第一个变量内容与第二个变量内容的其他程序运行段
        exit 1
        ;;
    esac     
    
  • 循环

    //满足条件才开始循环
    while [ condition ] 
    do            
        程序段落
    done          
    
    //满足才结束
    until [ condition ]
    do
        程序段落
    done
    
    //固定循环
    for var in con1 con2 con3 ...
    do
        程序段
    done
    
    
    for (( 初始值; 限制值; 运行步阶 ))
    do
        程序段
    done
    
  • 函数

    function fname() {
        程序段
    }
    
  • 检查语法错误

     sh [-nvx] scripts.sh
    

账号管理

  • uid和gid
  • 涉及目录

    /etc/passwd
    /etc/group
    /etc/shadow
    
    groups            查看所有支持的群组
    newgrp            有效群组的切换
    
    w/who             查询已登录的用户
    useradd           增加用户
                    参考:
                        /etc/default/useradd
                        /etc/login.defs
                        /etc/skel/*
    
    passwd  [用户]       修改用户密码
                     echo "abc543CC" | passwd --stdin vbird2
    userdel -r home     删除用户
    id  [username]                  查询uid和gid
    groupadd
    groupmod                        group 相关参数的修改
    groupdel
    gpasswd                         群组管理员功能
    
    //acl 权限
    setfacl 
    getfacl filename
    
    //切换
    su - username 或 su -l username    切换用户
    su - -c "命令串"                   只运行一次root命令
    sudo                               以其他用户的身份运行命令( /etc/sudoers 内的用户才能够运行 sudo 这个命令)
                                    e.g:
                                    sudo -u sshd touch /tmp/mysshd
    visudo                           修改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 restart
    chkconfig 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.txt
    crontab -l              查看所有任务
    run-parts               遍历目录中所有文件运行
    
    anacron               运行crontab 关机期间没有运行的任务
    

参考

  • 鸟哥的私房菜
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值