本文章内容借鉴自《n鸟哥的私房菜》一书
[root@linux~]$ startx //开启系统图形界面
[root@linux~]$ exit //注销系统
[root@linux~]$ ls -al <dir name> //列出指定目录下的所有文件,包括隐藏文件。-al是获取文件所有的属性。
[root@linux~]$ ls -la --time=atime <path>
[root@linux~]$ ll //也可以这样写
LInux磁盘与档案系统管理
//设置系统支持语系为英文
[root@linux~]$ LANG=en
[root@linux~]$ LANGUAGE=en
[root@linux~]$ LC_ALL=eb
[root@linux~]$ LC_CTYPE=en
[root@linux~]$ LC_TIME=en
[root@linux~]$ date //显示系统当前时间,只能是小写。
[root@linux~]$ date +%Y/%m/%d
[root@linux~]$ date +%H:%M
[root@linux~]$ man date //显示date命令的操作说明
[root@linux~]$ cal //显示日历
[root@linux~]$ cal 2005
[root@linux~]$ bc //简单的计算器 +加法 -减法 *乘法 /除法 ^指数 %余数 scale=<number>显示小数点后的位数 quit退出
快捷键
[root@linux~]$ <filename>【tab】 //【tab】键自动补全命令与档案
[root@linux~]$ 【ctrl】 + c //终中断当前程序
[root@linux~]$ 【ctrl】 + d //结束快捷键,代替exit
[root@linux~]$ 【page up】 //向上翻页
[root@linux~]$ 【page down】 //向下翻页
[root@linux~]$ 【home】 //去到第一页
[root@linux~]$ 【end】 //去到最后一页
[root@linux~]$ 【enter】 //当光标在node上,单击可以进入该node
[root@linux~]$ 【Crtl】 + 【Alt】 + 【BackSpace】
[root@linux~]$ whatis <指令或数据>
[root@linux~]$ apropos <指令或数据>
[root@linux~]$ info info
[root@linux~]$ sync //将数据同步写入硬盘中(仅root可以执行)
[root@linux~]$ shutdown //关机
[root@linux~]$ shutdown -h 1:30 //定时关机
[root@linux~]$ reboot //重启
[root@linux~]$ halt //重启
[root@linux~]$ poweroff //关机
[root@linux~]$ sync; sync; sync; reboot
改变文件权限
[root@linux~]$ chgrp -R <dirname/filename> //改变档案所属群组
[root@linux~]$ chown -R <账号名称> <dirname/filename> //改变档案所属人
[root@linux~]$ chmod -R <账号名称>:<群租名称> <dirname/filename> //改变档案的属性、SUID、等等的特征
[root@linux~]$ su <user_name>
文件类型:
普通文件(rehular file)
纯文字文件(ASSCII)
二进制文件(binary)
数据格式文件(data)
目录(directory)
链接(link)
设备与装置文件(device)
区块(block)设备档
字符(character)设备档
资料接口文件(sockets)
数据输送文件(FIFO, pipe)
[root@linux~]$ du -f //查看目录空间大小
[root@linux~]$ df -h //查看磁盘空间大小
[root@linux~]$ ln -sf <来源文件> <目标文件>
[root@linux~]$ fsck [-AtCary] <装置名称> //检查和修正硬盘错误的指令
[root@linux~]$ badblock -[svw] <装置名称> //检查硬盘或软盘扇区有没有坏轨
[root@linux~]$ mount -a
[root@linux~]$ mount [-tonL] <装置名称代号> <挂载点> //只有root才执行,将文件系统挂载到我们的linux系统上
[root@linux~]$ e2label <装置名称> <新的Label名称> //修改磁盘的表头数据
[root@linux~]$ tune2fs [-jIL] <装置代号>
[root@linux~]$ hdparm [-icdmXTt] <装置名称> //启用硬盘的DMA模式功能
特殊装置loop挂载:
[root@linux~]$ dd if=/dev/zero of=/tmp/loopdev bs=1024K count=2048 //建立大型文件
[root@linux~]$ mke2fs -j /tmp/loopdev //格式化
[root@linux~]$ mount -t ext3 -o loop /tmp/loopdev /media/cdrom //挂载
[root@linux~]$ df
建立虚拟内存档案
[root@linux~]$ dd if=/dev/zero of=/tmp/swap bs=4k count=16382 //使用 dd 这个指令来新增一个 64MB 的档案在 /tmp 底下
[root@linux~]$ mkswap /tmp/swap //使用 mkswap 将 /tmp/swap 这个档案格式化为 swap 的档案格式
[root@linux~]$ swapon /tmp/swap //使用 swapon 来将 /tmp/swap 启动
[root@linux~]$ swapoff /tmp/swap //使用 swapoff 关掉 swap file
Linux档案与目录管理
cd pwd mkdir rmdir
$path
ls
cp rm mv
cat tac nl
more less
head tail
od
touch
umask
chattr lsattr
SUID/SGID/Sticky Bit
file
which whereis locate find
[root@linux~]$ cd [相对路径或绝对路径]
[root@linux~]$ cd ~dmtsai //去到 dmtsai 这个使用者的家目录,亦即 /home/dmtsai
[root@linux~]$ cd ~ //示回到自己的家目录
[root@linux~]$ cd //表回到自己家目
[root@linux~]$ cd .. //去到目前的上层目录
[root@linux~]$ cd - //回到刚刚的那个目录
[root@linux~]$ cd /var/spool/mail
[root@linux~]$ cd ../mqueue //是相对路径的写法,我们由 /var/spool/mail 去到 /var/spool/mqueue 就这样写!
[root@linux~]$ pwd [-P] //显示目前所在的目录
[root@linux~]$ mkdir [-mp] 目录名称
参数:
-m :设定档案的权限喔!直接设定,不需要看预设权限 (umask) 的脸色~
-p :帮助你直接将所需要的目录递归建立起来
[root@linux~]$ rmdir [-p] 目录名称 //删除『空』的目
[root@linux~]$ cp [-adfilprsu] 来源文件(source) 目的文件(destination)
[root@linux~]$ cp [options] source1 source2 source3 .... directory
参数:
-a :相当于 -pdr 的意思;
-d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身;
-f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制;
-i :若目的檔(destination)已经存在时,在覆盖时会先询问是否真的动作!
-l :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身;
-p :连同档案的属性一起复制过去,而非使用预设属性;
-r :递归持续复制,用于目录的复制行为;
-s :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案;
-u :若 destination 比 source 旧才更新 destination !
[root@linux~]$ ls [-aAdfFhilRS] 目录名称
[root@linux~]$ ls [--color={none,auto,always}] 目录名称
[root@linux~]$ ls [--full-time] 目录名称
参数:
-a :全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来~
-A :全部的档案,连同隐藏档,但不包括 . 与 .. 这两个目录,一起列出来~
-d :仅列出目录本身,而不是列出目录内的档案数据
-f :直接列出结果,而不进行排序 (ls 预设会以档名排序!)
-F :根据档案、目录等信息,给予附加数据结构,例如:
*:代表可执行档; /:代表目录; =:代表 socket 档案; |:代表 FIFO 档案;
-h :将档案容量以人类较易读的方式(例如 GB, KB 等等)列出来;
-i :列出 inode 位置,而非列出档案属性;
// -l :长数据串行出,包含档案的属性等等数据;
-n :列出 UID 与 GID 而非使用者与群组的名称 (UID 与 GID 会在账号管理提到!)
-r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小;
-R :连同子目录内容一起列出来;
-S :以档案容量大小排序!
-t :依时间排序
--color=never :不要依据档案特性给予颜色显示;
--color=always :显示颜色
--color=auto :让系统自行依据设定来判断是否给予颜色
--full-time :以完整时间模式 (包含年、月、日、时、分) 输出
--time={atime,ctime} :输出 access 时间或 改变权限属性时间 (ctime)
而非内容变更时间 (modification time)
[root@linux~]$ rm [-fir] 档案或目录
参数:
-f :就是 force 的意思,强制移除;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了
[root@linux~]$ mv [-fiu] source destination
[root@linux~]$ mv [options] source1 source2 source3 .... directory
参数:
-f :force 强制的意思,强制直接移动而不询问;
-i :若目标档案 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标档案已经存在,且 source 比较新,才会更新 (update)
文件内容查阅
[root@linux~]$ cat [-AEnTv]
参数:
-A :相当于 -vET 的整合参数,可列出一些特殊字符~
-E :将结尾的断行字符 $ 显示出来;
-n :打印出行号;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
反向列示
[root@linux~]$ tac /etc/issue
添加行号打印
[root@linux~]$ nl [-bnw] 档案
参数:
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号;
-b t :如果有空行,空的那一行不要列出行号;
-n :列出行号表示的方法,主要有三种:
-n ln :行号在屏幕的最左方显示;
-n rn :行号在自己字段的最右方显示,且不加 0 ;
-n rz :行号在自己字段的最右方显示,且加 0 ;
-w :行号字段的占用的位数
一页一页翻动
[root@linux~]$ more /etc/man.config
• 空格键 (space):代表向下翻一页;
• Enter :代表向下翻『一行』;
• /字符串 :代表在这个显示的内容当中,向下搜寻『字符串』;
• :f :立刻显示出文件名以及目前显示的行数;
• q :代表立刻离开 more ,不再显示该档案内容。
[root@linux ~]$ less /etc/man.config
• 空格键 :向下翻动一页;
• [pagedown]:向下翻动一页;
• [pageup] :向上翻动一页;
• /字符串 :向下搜寻『字符串』的功能;
• ?字符串 :向上搜寻『字符串』的功能;
• n :重复前一个搜寻 (与 / 或 ? 有关!)
• N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
• q :离开 less 这个程序;
资料撷取
取出前面几行
[root@linux~]$ head [-n number] 档案
参数:
-n :后面接数字,代表显示几行的意思
取出后面几行
[root@linux~]$ tail [-n number] 档案
参数:
-n :后面接数字,代表显示几行的意
标题非纯文字文件
[root@linux~]$ od [-t TYPE] 档案
参数:
-t :后面可以接各种『类型 (TYPE)』的输出,例如:
a :利用预设的字符来输出;
c :使用 ASCII 字符来输出
d[size] :利用十进制(decimal)来输出数据,每个整数占用 size bytes ;
f[size] :利用浮点数值(floating)来输出数据,每个数占用 size bytes ;
o[size] :利用八进位(octal)来输出数据,每个整数占用 size bytes ;
x[size] :利用十六进制(hexadecimal)来输出数据,每个整数占用 size bytes ;
[root@linux~]$ touch [-acdmt] 档案
参数:
-a :仅修订 access time;
-c :仅修改时间,而不建立档案;
-d :后面可以接日期,也可以使用 --date="日期或时间"
-m :仅修改 mtime ;
-t :后面可以接时间,格式为[YYMMDDhhmm]
档案类型
想要知道某个档案的基本数据,例如是属于 ASCII 或者是 data 档案,或者是 binary
[root@linux~]$ file ~/.bashrc
档案的搜寻
[root@linux~]# which [-a] command
参数:
-a :将所有可以找到的指令均列出,而不止第一个被找到的指令名称
[root@linux~]$ whereis [-bmsu] 档案或目录名
参数:
-b :只找 binary 的档案
-m :只找在说明文件 manual 路径下的档案
-s :只找 source 来源档案
-u :没有说明档的档案!
[root@linux~]$ find [PATH] [option] [action]
参数:
1. 与时间有关的参数:
-atime n :n 为数字,意义为在 n 天之前的『一天之内』被 access 过的档案;
-ctime n :n 为数字,意义为在 n 天之前的『一天之内』被 change 过状态的档案;
-mtime n :n 为数字,意义为在 n 天之前的『一天之内』被 modification 过的档案;
-newer file :file 为一个存在的档案,意思是说,只要档案比 file 还要新,
就会被列出来~
2. 与使用者或群组名称有关的参数:
-uid n :n 为数字,这个数字是使用者的账号 ID,亦即 UID ,这个 UID 是记录在
/etc/passwd 里面与账号名称对应的数字。这方面我们会在第四篇介绍。
-gid n :n 为数字,这个数字是群组名称的 ID,亦即 GID,这个 GID 记录在
/etc/group,相关的介绍我们会第四篇说明~
-user name :name 为使用者账号名称喔!例如 dmtsai
-group name:name 为群组名称喔,例如 users ;
-nouser :寻找档案的拥有者不存在 /etc/passwd 的人!
-nogroup :寻找档案的拥有群组不存在于 /etc/group 的档案!
当您自行安装软件时,很可能该软件的属性当中并没有档案拥有者,
这是可能的!在这个时候,就可以使用 -nouser 与 -nogroup 搜寻。
3. 与档案权限及名称有关的参数:
-name filename:搜寻文件名称为 filename 的档案;
-size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的档案。这个 SIZE 的规格有:
c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB
还要大的档案,就是『 -size +50k 』
-type TYPE :搜寻档案的类型为 TYPE 的,类型主要有:一般正规档案 (f),
装置档案 (b, c), 目录 (d), 连结档 (l), socket (s),
及 FIFO (p) 等属性。
-perm mode :搜寻档案属性『刚好等于』 mode 的档案,这个 mode 为类似 chmod
的属性值,举例来说, -rwsr-xr-x 的属性为 4755 !
-perm -mode :搜寻档案属性『必须要全部囊括 mode 的属性』的档案,举例来说,
我们要搜寻 -rwxr--r-- ,亦即 0744 的档案,使用 -perm -0744,
当一个档案的属性为 -rwsr-xr-x ,亦即 4755 时,也会被列出来,
因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
-perm +mode :搜寻档案属性『包含任一 mode 的属性』的档案,举例来说,我们搜寻
-rwxr-xr-x ,亦即 -perm +755 时,但一个档案属性为 -rw-------
也会被列出来,因为他有 -rw.... 的属性存在!
4. 额外可进行的动作:
-exec command :command 为其它指令,-exec 后面可再接额外的指令来处理搜寻到
的结果。
-print :将结果打印到屏幕上,这个动作是预设动作!
档案的压缩与打包
compress
gzip, zcat
bzip2, bzcat
tar
dd
cpio
文字处理器
vi 与 vim