很受欢迎的Linux笔记(二)

ARM 65浏览

压缩命令:

*.Z compress 程式壓縮的檔案;

*.bz2 bzip2 程式壓縮的檔案;

*.gz gzip 程式壓縮的檔案;

*.tar tar 程式打包的資料,並沒有壓縮過;

*.tar.gz tar 程式打包的檔案,其中並且經過 gzip 的壓縮

compress filename 压缩文件 加 [-d]解压 uncompress

gzip filename 压缩 加 [-d]解压 zcat 123.gz 查看压缩文件内容

bzip2 -z filename 压缩 加 [-d]解压 bzcat filename.bz2 查看压缩文件内容

tar -cvf /home/123.tar /etc 打包,不压缩

tar -xvf 123.tar 解开包

tar -zxvf /home/123.tar.gz 以 gzip解压

tar -jxvf /home/123.tar.bz2 以 bzip2解压

tar -ztvf /tmp/etc.tar.gz 查看 tar内容

cpio -covB > [file|device] 份份

cpio -icduv < [file|device] 还原

vi一般用法

一般模式 编辑模式 指令模式

h 左 a,i,r,o,A,I,R,O :w 保存

j 下 进入编辑模式 :w! 强制保存

k 上 dd 删除光标当前行 :q! 不保存离开

l 右 ndd 删除 n行 :wq! 保存后离开

0 移动到行首 yy 复制当前行 :e! 还原原始档

$ 移动到行尾 nyy 复制 n行 :w filename 另存为

H 屏幕最上 p,P 粘贴 :set nu 设置行号

M 屏幕中央 u 撤消 :set nonu 取消行号

L 屏幕最下 [Ctrl]+r 重做上一个动作 ZZ 保存离开

G 档案最后一行 [ctrl]+z 暂停退出 :set nohlsearch 永久地关闭高亮显示

/work 向下搜索 :sp 同时打开两个文档

?work 向上搜索 [Ctrl]+w 两个文档设换

gg 移动到档案第一行 :nohlsearch 暂时关闭高亮显示

认识 SHELL

alias 显示当前所有的命令别名 alias lm="ls -al" 命令别名 unalias lm 取消命令别名

type 类似 which

exprot 设置或显示环境变量

exprot PATH="$PATH":/sbin 添加 /sbin入 PATH路径

echo $PATH 显示 PATH路径

bash 进入子程序

name=yang 设定变量

unset name 取消变量

echo $name 显示变量的内容

myname="$name its me" & myname='$name its me' 单引号时 $name失去变量内容

ciw=/etc/sysconfig/network-scripts/ 设置路径

env 列出所有环境变量

echo $RANDOM 显示随意产生的数

set 设置 SHELL

PS1='[u@h w A ##]$ ' 提示字元的設定

[root@linux ~]# read [-pt] variable -----------读取键盘输入的变量

參數:

-p :後面可以接提示字元!

-t :後面可以接等待的『秒數!』

declare 声明 shell 变量

ulimit -a 显示所有限制资料

ls /tmp/yang && echo "exist" || echo "not exist"

意思是說,當 ls /tmp/yang 執行後,若正確,就執行 echo "exist" ,若有問題,就執行 echo "not exist"

echo $PATH | cut -d ':' -f 5 以 :为分隔符 ,读取第 5段内容

export | cut -c 10-20 读取第 10到 20个字节的内容

last | grep 'root' 搜索有 root的一行 ,加 [-v]反向搜索

cat /etc/passwd | sort 排序显示

cat /etc/passwd | wc 显示『行、字数、字节数』

正规表示法

[root@test root]# grep [-acinv] '搜尋字串 ' filename

參數說明:

-a :將 binary 檔案以 text 檔案的方式搜尋資料

-c :計算找到 '搜尋字串 ' 的次數

-i :忽略大小寫的不同,所以大小寫視為相同

-n :順便輸出行號

-v :反向選擇,亦即顯示出沒有 '搜尋字串 ' 內容的那一行!

grep -n 'the' 123.txt 搜索 the字符 -----------搜尋特定字串

grep -n 't[ea]st' 123.txt 搜索 test或 taste两个字符 ---------利用 [] 來搜尋集合字元

grep -n '[^g]oo' 123.txt 搜索前面不为 g的 oo-----------向選擇 [^]

grep -n '[0-9]' 123.txt 搜索有 0-9的数字

grep -n '^the' 123.txt 搜索以 the为行首 -----------行首搜索 ^

grep -n '^[^a-zA-Z]' 123.txt 搜索不以英文字母开头

grep -n '[a-z]$' 123.txt 搜索以 a-z结尾的行 ---------- 行尾搜索 $

grep -n 'g..d' 123.txt 搜索开头 g结尾 d字符 ----------任意一個字元 .

grep -n 'ooo*' 123.txt 搜索至少有两个 oo的字符 ---------重複字元 *

sed 文本流编辑器 利用脚本命令来处理文本文件

awd 模式扫描和处理语言

nl 123.txt | sed '2,5d' 删除第二到第五行的内容

diff 比较文件的差异

cmp 比较两个文件是否有差异

patch 修补文件

pr 要打印的文件格式化

帐号管理

/etc/passwd 系统帐号信息

/etc/shadow 帐号密码信息 经 MD5 32位加密

在密码栏前面加『 * 』『 ! 』禁止使用某帐号

/etc/group 系统群组信息

/etc/gshadow

newgrp 改变登陆组

useradd & adduser 建立新用户 ---------> useradd -m test 自动建立用户的登入目录

useradd -m -g pgroup test --------->指定所属级

/etc/default/useradd 相关设定

/etc/login.defs UID/GID 有關的設定

passwd 更改密码 -----------> passwd test

usermod 修改用户帐号

userdel 删除帐号 ----------->userdel -r test

chsh 更换登陆系统时使用的 SHELL [-l]显示可用的 SHELL;[-s]修改自己的 SHELL

chfn 改变 finger指令显示的信息

finger 查找并显示用户信息

id 显示用户的 ID -----------> id test

groupadd 添加组

groupmod 与 usermod类似

groupdel 删除组

su test 更改用户 su - 进入 root,且使用 root的环境变量

sudo 以其他身份来执行指令

visudo 编辑 /etc/sudoers 加入一行『 test ALL=(ALL) ALL 』

%wheel ALL = (ALL) ALL 系统里所有 wheel群组的用户都可用 sudo

%wheel ALL = (ALL) NOPASSWD: ALL wheel群组所有用户都不用密码 NOPASSWD

User_Alias ADMPW = vbird, dmtsai, vbird1, vbird3 加入 ADMPW组

ADMPW ALL = NOPASSWD: !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*,

!/usr/bin/passwd root 可以更改使用者密码 ,但不能更改 root密码 (在指令前面加入 ! 代表不可 )

PAM (Pluggable Authentication Modules, 嵌入式模組 )

who & w 看谁在线

last 最近登陆主机的信息

lastlog 最近登入的時間 读取 /var/log/lastlog

talk 与其他用户交谈

write 发送信息 write test [ctrl]+d 发送

mesg 设置终端机的写入权限 mesg n 禁止接收 mesg y

wall 向所有用户发送信息 wall this is q test

mail 写 mail

/etc/default/useradd 家目录默认设置

quota 显示磁盘已使用的空间与限制 quota -guvs ----->秀出目前 root 自己的 quota 限制值

quota -vu 查询

quotacheck 检查磁盘的使用空间与限制 quotacheck -avug ----->將所有的在 /etc/mtab 內,含有 quota 支援的 partition 進行掃瞄

[-m] 强制扫描

quota一定要是独立的分区 ,要有 quota.user和 quota.group两件文件 ,在 /etc/fstab添加一句 :

/dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2

chmod 600 quota* 设置完成 ,重启生效

edquota 编辑用户或群组的 quota [u]用户 ,[g]群组 ,[p]复制 ,[t]设置宽限期限

edquota -a yang edquota -p yang -u young ----->复制

quotaon 开启磁盘空间限制 quotaon -auvg -------->啟動所有的具有 quota 的 filesystem

quotaoff 关闭磁盘空间限制 quotaoff -a -------->關閉了 quota 的限制

repquota -av 查閱系統內所有的具有 quota 的 filesystem 的限值狀態

Quota 從開始準備 filesystem 的支援到整個設定結束的主要的步驟大概是:

1、設定 partition 的 filesystem 支援 quota 參數:

由於 quota 必須要讓 partition 上面的 filesystem 支援才行,一般來說, 支援度最好的是 ext2/ext3 ,

其他的 filesystem 類型鳥哥我是沒有試過啦! 啟動 filesystem 支援 quota 最簡單就是編輯 /etc/fstab ,

使得準備要開放的 quota 磁碟可以支援 quota 囉;

2、建立 quota 記錄檔:

剛剛前面講過,整個 quota 進行磁碟限制值記錄的檔案是 aquota.user/aquota.group,

要建立這兩個檔案就必須要先利用 quotacheck 掃瞄才行喔!

3、編輯 quota 限制值資料:

再來就是使用 edquota 來編輯每個使用者或群組的可使用空間囉;

4、重新掃瞄與啟動 quota :

設定好 quota 之後,建議可以再進行一次 quotacheck ,然後再以 quotaon 來啟動吧!

开机流程简介

1、載入 BIOS 的硬體資訊,並取得第一個開機裝置的代號;

2、讀取第一個開機裝置的 MBR 的 boot Loader (亦即是 lilo, grub, spfdisk 等等 ) 的開機資訊;

3、載入 Kernel 作業系統核心資訊, Kernel 開始解壓縮,並且嘗試驅動所有硬體裝置;

4、 Kernel 執行 init 程式並取得 run-level 資訊;

5、 init 執行 /etc/rc.d/rc.sysinit 檔案;

6、啟動核心的外掛模組 (/etc/modprobe.conf);

7、 init 執行 run-level 的各個批次檔 ( Scripts );

8、 init 執行 /etc/rc.d/rc.local 檔案;

9、執行 /bin/login 程式,並等待使用者登入;

10、登入之後開始以 Shell 控管主機。

在 /etc/rc.d/rc3.d內 ,以 S开头的为开机启动 ,以 K开头的为关闭 ,接着的数字代表执行顺序

GRUB vga设定

彩度 解析度 640x480 800x600 1024x768 1280x1024 bit

256 769 771 773 775 8 bit

32768 784 787 790 793 15 bit

65536 785 788 791 794 16 bit

16.8M 786 789 792 795 32 bit

./configure 检查系统信息 ./configure --help | more 帮助信息

make clean 清除之前留下的文件

make 编译

make install 安装

rpm -q ----->查询是否安装 rpm -ql ------>查询该套件所有的目录

rpm -qi ----->查询套件的说明资料 rpm -qc[d] ----->设定档与说明档

rpm -ivh ---->安装 rpm -V -------->查看套件有否更动过

rpm -e ------>删除 rpm -Uvh ------->升级安装

--nodeps ----->强行安装 --test ----->测试安装