Linux常用命令汇总(一)

Linux常用命令汇总

一、Linux档案权限

      在Linux系统中,不同的用户对系统中各类文件有着不同的访问权限,这也是Linux系统的优点之一,比如有一个文件,你希望A用户可以查看并修改,而B用户只能查看,C用户不能访问该文件,要想达到这样的目的,我们就可以通过设置文件的属性来实现。现在我们就看看是怎么设置的。
      Linux系统中,文件的属性下图所示:
这里写图片描述

      可以看到档案属性中又有那么多的rwx之类的属性,那么这究竟是什么意思呢?当你看完了下图你会有所了解。

这里写图片描述

      现在,你肯定对档案的各种属性有所了解了,那么问题来了,我们该怎么修改这些属性呢?Linux为我们提供了现成的命令来修改这些属性:

chgrp:改变档案所属群组

chgrp -R dirname/filename …

参数参数说明
R进行递 ( recursive )的持续变更,亦即连同次目录下的所有档案、目录都更新成为这个群组之意。常常用在变更某一目录的情况。

chown:改变档案所属人

chown -R 帐号名称 档案或目录
chown -R 帐号名称:群组名称 档案或目录

参数参数说明
R进行递 ( recursive )的持续变更,亦即连同次目录下的所有档案、目录都更新成为这个群组之意。常常用在变更某一目录的情况。

chmod:改变档案的属性、SUID、等等的特性
修改档案属性分别有两种方法,一是数字类型改变档案权限,二是符号类型改变档案权限。下面我们就分别来看看这两种方法怎么使用。

(1)数字类型改变档案权限
    学习之前,我们先了解一些东西,Linux 档案的基本属性就有九个,分别是 owner/group/others 组别的 read/write/excute 属性,先复习一下刚刚上面提到的数据:
                    -rwxrwxrwx
      这十个属性是三个三个一组的!其中,我们可以使用数字来代表各个属性,各属性的对表如下:
        r : 4
       w : 2
        x : 1
      同一组 (owner/group/others) 的三个属性 (r/w/x) 是需要 加的,例如当属性为 [-rwxrwx—]则是:
              owner = rwx = 4 + 2 + 1 = 7
              group = rwx = 4 + 2 + 1 = 7
              others = - - - = 0 + 0 + 0 = 0
       所以等一下我们设定属性的变更时,该属性的数字就是 770 啦!变更属性的指令 chmod 的语法是这样的:

chmod 770 filename

(2)符号类型改变档案权限
      从之前的介绍中我们可以发现,基本上就 个属性分别是user、group、others 三群!那么我们就可以藉由 u, g, o 来代表三群的属性!此外,a 则代表 all 亦即全部的三群!那么读写的属性就可以写成了 r, w, x!‘+’表示增加某个权限,‘-’表示删除某个权限,‘=’表示设定某个权限。也就是可以使用底下的方式来看:

chmod u=rwx,go=rx filename
chmod a-x filename

二、Linux档案与目录管理

1. 目录与路径

绝对路径:写法一定由根目录 / 写起,例如: /usr/share/doc 这个目录。
相对路径:写法不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man这就是相对路的写法啦!
相对路意指相对于目前工作目录的路径!

1.2 目录的相关操作: cd, pwd, mkdir, rmdir

一些比较特殊的目录:

目录说明
.代表此层目录
..代表上一层目录
~代表前一个工作目录
-代表『目前使用者身份』所在的家目录
~account代表 account 这个使用者的家目录


cd 变换目录

cd 相对路径或绝对路径

pwd 显示当前所在的目录路径

pwd -P

rmdir 删除空的目录

rmdir -p 目录名称
-P:连同上层空的目录也一起删除

mkdir 建立新目录

mkdir -mp 目录名称

参数说明
m设定档案的权限
p递归创建目录

2. 档案与目录管理

2.1 档案与目录的查看: ls

ls -aAdfFhilRS 目录名称
ls –color= none,auto,always 目录名称
ls –full-time 目录名称

参数说明
a全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来
A全部的档案,连同隐藏档,但不包括 . 与 .. 这两个目录,一起列出来~
d仅列出目录本身,而不是列出目录内的档案数据
f直接列出结果,而不进行排序
F根据档案、目录等信息,给予附加数据结构,例如:*:代表可执行档; /:代表目录; =:代表 socket 档案; :代表 FIFO 档案;
h将档案容量以人类较易读的方式(例如 GB, KB 等等)列出来
i列出 inode 位置,而非列出档案属性
l长数据串行出,包含档案的属性等等数据
n列出 UID 与 GID 而非使用者与群组的名称
r将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小;
R连同子目录内容一起列出来
S以档案容量大小排序
t依时间排序
–color=never不要依据档案特性给予颜色显示
–color=always显示颜色
–color=auto让系统自行依据设定来判断是否给予颜色
–full-time以完整时间模式 (包 年、月、日、时、分) 输出
–time= atime,ctime输出 access 时间或 改变权限属性时间 (ctime),范例:而非内容变更时间 (modification time)
2.2 复制、移动与删除: cp, mv, rm

cp 复制档案或目录

cp -adfilprsu 来源档(source) 目的 (destination)
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


rm 删除档案或目录

rm -fir 档案或目录

参数说明
i互动模式,在删除前会询问使用者是否动作
r递归删除,最常用在目录的删除了
f就是 force 的意思,强制删除


mv 移动档案与目录或重命名

mv -fiu source destination
mv [options] source1 source2 source3 …. directory

参数说明
i若目标档案 (destination) 已经存在时,就会询问是否移动
u若目标档案已经存在,且 source 比较新,才会更新 (update)
fforce 强制的意思,强制直接移动而不询问

3. 档案内容查阅:

3.1 直接查看档案内容: cat, tac, nl

cat 由第一行开始显示档案内容

cat -AEnTv filename

参数说明
A相当于 -vET 的整合参数,可列出一些特殊字符
E将结尾的断行字符$显示出来
n打印出行号
T将 tab 按键以 ^I 显示出来
v列出一些看不出来的特殊字符


tac 从最后一行开始显示

tac filename

nl 显示的时候,顺道输出行号

nl -bnw filename

参数说明
b指定行号指定的方式,主要有两种:
-b a : 表示不论是否为空行,也同样列出行号;
-b t : 如果有空行,空的那一行不要列出行号;
n列出行号表示的方法
-n ln : 行号在屏幕的最左方显示;
-n rn : 行号在自己字段的最右方显示,且不加 0 ;
-n rz : 行号在自己字段的最右方显示,且加 0 ;
w行号字段的占用的位数
3.2 可翻页查看: more, less

more 一页一页翻动

more filename

操作说明
空格代表向下翻一页
Enter代表向下翻一行
/字符串代表在这个显示的内容当中,向下搜寻字符串
:f立刻显示出文件名以及目前显示的行数
q代表立刻离开more,不再显示该档案内容


less 一页一页翻动

less filename

操作说明
空格代表向下翻一页
pagedown代表向下翻一行
pageup向上翻动一页
/字符串向下搜寻字符串的功能
?字符串向上搜寻字符串的功能
n重复前一个搜寻
N反向的重复前一个
q离开less这个程序
3.3 资料获取: head, tail

head 取出前面几行

head -n number filename
-n :后面接数字,代表显示几行的意思

tail 取出后面几行

tail -n number filename
-n:后面接数字,代表显示几行的意思

3.4 修改档案时间与建置新档: touch

touch 修改档案时间与建置新档

touch -acdmt filename

参数说明
a仅修订 access time
c仅修改时间,而不建立档案
d后面可以接日期,也可以使用 - -date=”日期或时间”
m仅修改 mtime
t后面可以接时间,格式为 MMDDhhmm


说明:
modification time (mtime):当该档案的内容数据变更时,就会更新这个时间! 内容数据 指的是档案的内容,而不是档案的属性喔!
status time (ctime):当该档案的状态 (status)改变时,就会更新这个时间,举例来说, 像是权限与属性被更改了,都会更新这个时间啊~
access time (atime):当该档案的内容被取用时,就会更新这个读取时间 (access)。 举例来说,我们使用 cat 去读取 ~/.bashrc
,就会更新 atime 了。

4.2 档案属性: chattr, lsattr

chattr 设定档案隐藏属性

chattr +-= ASacdistu 档案或目录名称

参数说明
+增加某一个特殊参数,其它原本存在参数则不动
-移除某一个特殊参数,其它原本存在参数则不动
=设定,且仅有后面接的参数
A当设定了 A 这个属性时,这个档案(或目录)的存取时间 atime (access) 将不可被修改,可避免例如手提式计算机容易有磁盘 I/O 错误的情况发生
S这个功能有点类似 sync 的功能!就是会将数据同步写入磁盘当中! 可以有效的避免数据流失
a当设定 a 之后,这个档案将只能增加数据,而不能 除,只有 root 才能设定这个属性
c这个属性设定之后,将会自动的将此档案『压缩』,在读取的时候将会自动解压缩, 但是在储存的时候,将会先进行压缩后再储存(看来对于大档案似乎很有用的!)
d当 dump(备份)程序被执行的时候,设定 d 属性将可使该档案(或目录)不具有 dump 功能
i让一个档案不能被删除、改名、设定连结也无法写入或新增资料
s当使用 ext3 这个档案系统格式时,设定 j 属性将会使档案在写入时先记录在journal 中但是当 filesystem 设定参数为 data=journalled 时,由于已经设定了日志了,所以这个属性无效!
t当档案设定了 s 参数时,他将会被完全的移除出这个硬盘空间
u与 s 相反的,当使用 u 来设定档案时,则数据内容其实还存在磁盘中,可以用来 undeletion.


lsattr 显示档案隐藏属性

lsattr -aR 档案或目录

参数说明
a将隐藏文件的属性显示出来
R连同子目录的数据也一并列出来
4.1 档案预设权限:umask

umask 修改创建档案与目录的预设权限

umask [-S]
-S :以符号类型的方式来显示权限

umask 002  拿掉其他用户的写权限
umask 200  拿掉拥有者的写权限
umask 020  拿掉同组用户的写权限

三、Linux档案的压缩与打包

compress

compress -dcr 档案或目录

参数说明
d用来解压缩的参数
r可以连同目录下的档案也同时给予压缩
c将压缩数据输出成为 standard output (输出到屏幕)


gzip, zcat

gzip -cdt# filename
zcat filename.gz

参数说明
c将压缩的数据输出到屏幕上,可透过数据流重导向来处理
d解压缩的参数
t可以用来检验一个压缩档的一致性,看看档案有无错误
#压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6


bzip2, bzcat

bzip2 -cdz filename
bzcat filename.bz2

参数说明
c将压缩的数据输出到屏幕上,可透过数据流重导向来处理
d解压缩的参数
z压缩的参数
#与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快


tar

tar -cxtzjvfpPN 输出档案(目录)文件名.tar   被打包(目录)文件名

参数说明
c建立一个压缩档案的参数指令(create 的意思)
x解开一个压缩档案的参数指令
t查看 tarfile 里面的档案
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩
z是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩
j是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩
v压缩的过程中显示档案!这个常用,但不建议用在背 执行过程!
f使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
p使用原档案的原来属性(属性不会依据使用者而变)
P可以使用绝对路 来压缩
N比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的档案中!


dd 可以用来备份整个partition 或 整个disk

dd if=”input_file” of=”outptu_file” bs=”block_size” count=”number”

参数说明
if就是 input file ,也可以是装置,如:partition、整颗disk
of就是 output file ,也可以是装置
bs规划的一个 block 的大小,如果没有设定时,预设是 512 bytes
count多少个 bs 的意思

其他章节请看Linux常用命令汇总(二)

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值