Linux中一些实用代码记录(持更)

文中的页码为《鸟哥的linux私房菜》纸质版
linux自带说明:$命令 --help

一、文件相关命令

1.查看文件
$ ls #意为list,查看该文件夹下的文件及文件信息
$ ls -al #列出(包括隐藏文件在内的)所有文件详细的权限及属性,具体见p152【-al 其实就是-a &-l】
$ ls -a #列出所有文件(包括隐藏文件)
$ ls -l #列出当前文件夹下文件的详细权限及属性(不包含隐藏文件)
$ ll #等价于【ls -l】
$ ls -ld filename/dicname #查看该文件详细权限属性/该目录的详细权限属性
$ cat filename # 将一个文件内容读出来
$ man options # man为manual的缩写,用于查看一些不熟悉的命令的使用方法,还可以用来查询系统库文件中的一些函数定义和使用方法
ls(文件与目录的查看) p181
$ ls [-aAdfFhilnrRSt] filename/dicname 
$ ls [---color={never,auto,always}] filename/dicname
$ ls [--full-time] filename/dicname
# 更多见 $ man ls
(查看文件内容) cat, tac, nl, more, less, head, tail, od p187~192
#简要介绍
$cat [-AbEnTv] filename #由第一行开始显示文件内容
$tac #从最后一行开始显示
$nl [-bnw] filename#显示的时候,同时输出行号
$more #一页一页地显示文件内容
$less #与more类似,但是比more更好的是,它可以往前翻页
$head [-n number] filename#只看前面几行,默认显示前十行
$tail #只看后面几行
$od [-t TYPE] filename #以二进制的方式读取文件内容(查看非文本文件)
    $ od -t oCc filename #显示该文件内容以八进制列出储存值与ASCII的对照表eg.$echo lejia | od -t oCc #试着运行一下试试呗
file(查看文件类型) p200
$ file filename 
# 观察某文件的基本信息,例如是属于ACSII或数据文件(data)或二进制文件,且其中有没有使用到动态连接库(share library),若为压缩文件使用的是哪种压缩方式等信息
2.解压文件 p420-

原链接地址:https://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html
.tar

解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)

.gz

解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName

.tar.gz 和 .tgz

解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName

.bz2

解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName

.tar.bz2

解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName

.bz

解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知

.tar.bz

解压:tar jxvf FileName.tar.bz
压缩:未知

.Z

解压:uncompress FileName.Z
压缩:compress FileName

.tar.Z

解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName

.zip

解压:unzip FileName.zip
压缩:zip FileName.zip DirName

.rar

解压:rar x FileName.rar
压缩:rar a FileName.rar DirName

.lha

解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName

.rpm

解包:rpm2cpio FileName.rpm | cpio -div

rpm包一般是不需要解的,在RHEL下运行下面的命令行安装即可:

$ sudo yum install filename.rpm

.deb

解包:ar p FileName.deb data.tar.gz | tar zxf -

.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea

解压:sEx x FileName.*
压缩:sEx a FileName.* FileName

sEx只是调用相关程序,本身并无压缩、解压功能,请注意!

gzip 命令

减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。

语法:gzip [选项] 压缩(解压缩)的文件名该命令的各选项含义如下:

-c 将输出写到标准输出上,并保留原有文件。-d 将压缩文件解压。-l 对每个压缩文件,显示下列字段: 压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t 测试,检查压缩文件是否完整。-v 对每一个压缩和解压的文件,显示文件名和压缩比。-num 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比),-9 或–best表示最慢压缩方法(高压缩比)。系统缺省值为 6。指令实例:

gzip *% 把当前目录下的每个文件压缩成 .gz 文件。gzip -dv *% 把当前目录下每个压缩的文件解压,并列出详细的信息。gzip -l *% 详细显示例1中每个压缩的文件的信息,并不解压。gzip usr.tar% 压缩 tar 备份文件 usr.tar,此时压缩文件的扩展名为.tar.gz。

3.修改文件属性与权限

r:4 w:2 x:1

修改所属用户组chgrp P156

chgrp(short for change group)
注:要被修改的组名必须出现在/etc/group文件中,否则会显示错误。

    $ chgrp [-R] dirname/filename 
    # 【-R】为进行递归修改(连同所有文件、目录都更新成为这个用户组),常用于修改某一目录内所有的文件之情况。 
    #-R, --recursive        operate on files and directories recursively
    #example
    $chgrp ljzeng test1.txt
修改文件拥有者chown P156

chown(short for change owner)
注:在/etc/passwd文件中存在的用户名称才能修改。

$ chown [-R] user file
$ chown [-R] user:group file
$ chown [-R] .group file #单纯修改所属用户组。注意,group前有小数点
#加上【-R】可连同目录下的所有子目录或文件同时更改文件拥有者,此处file可为文件或目录
#chown还能直接修改用户组名称
#example: 将test1.txt文件拥有者改为bin这个账号
$ chown bin test1.txt
#example: 将test1.txt文件拥有者与用户组改为root这个账号
$ chown root:root test1.txt
修改权限chmod P157-158

数字类型修改

$ chmod [-R] xyz file
#xyz为数字类型权限属性,【-R】为递归修改(连同子目录下所有文件、目录都会修改)
#example:将test1.txt文件所有权限都设置启动
$ chmod 777 test1.txt

符号类型修改

$ chmod {ugoa} {+-=} {rwx} filename
#example:将test1.txt权限改为-rwx--x--x
$ chmod u=rwx go=x test1.txt 
#example:增加每个人均可读取test1.txt的权限
$ chmod a+r test1.txt

SUID/SGID/SBIT权限设置
见 p198-199介绍及p200设置方法

4.复制、删除&移动:cp, rm, mv p183-186
cp
$ cp [-adfilprsu] source(源文件) destination(目标文件)
$ cp [options] source1 source2 source3 .... directory
rm
$ rm [-fir] filename/dirname
mv 移动、修改文件名
$ mv [-fiu] source destination
$ mv [options] source1 source2 source3 .... directory
$ mv oldname newname # mv还可对文件/目录重命名
5.touch(修改文件时间或创建新文件)p193-194
$ touch [-acdmt] filename #修改文件时间
$ touch filename/dirname
 #当文件/目录名不存在时:创建一个新文件/目录
 #当文件/目录名存在时:将该文件/目录的三个时间(atime/ctime/mtime)更新为目前的时间
6.文件隐藏属性 p197
配置文件隐藏属性 chattr
$ chattr [+-=] [ASacdistu] filename/dirname #常见的是a, i的设置值,且很多设置值必须是root才能设置
# chattr命令只能在ext2, ext3, ext4的Linux传统文件系统上完全生效,xfs文件系统仅支持AadiS
显示文件隐藏属性 lsattr
$ lsattr [-adR] filename/dirname
7.命令与文件的查找 p201-205
脚本文件的查找 which
$ which [-a] command #这个命令是根据【PATH】这个环境变量所规范的路径,去查找执行文件的文件名
#将所有由PATH目录中可以找到的命令均列出,而不止第一个被找到的命令名称
文件的查找 whereis locate/updatedb find
$whereis [-bmsu] filename #由一些特定的目录中查找文件
$locate [-ir] keyword #利用数据库来查找文件名,不需要完整文件名
$updatedb #更新locate数据库
$find [PATH] [option] [action] #
8.其它

rename 进行多个文件名的同时重命名
umask 文件默认权限 p195-196

$ umask #直接输入umask查看数字类型权限设置值,数字指该默认值需要减掉的权限
$ umask -S #以符号类型显示权限
$ umask number #设置umask

二、CentOS系统相关指令

$ uname -r #查看内核版本
$ uname -m #查看操作系统的架构版本
$ su - #用于切换身份为root,操作完毕后则用exit离开su命令环境
$ hostname #显示主机名
$ source filename #也可以写作 $ . filename
    #source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。它也可用于将一个文件的内容当作shell来执行。(见收藏)

三、目录的相关操作

1.比较特殊的目录&常见的处理目录命令p176-179
. #此层目录
..#上一层目录
- #前一个工作目录
~ #目前使用者身份所在的家目录
~account #account这个使用者的家目录(account是一个账号名称)
cd #切换目录
pwd #显示当前目录
mkdir #建立一个新目录
rmdir #删除一个空目录
cd(change dictionary)
    $cd ~mama #进入mama这个使用者的家目录,即/home/mama
    cd ~ #回到子集的家目录
    cd    #没有加上任何路径,也还是表示回到自己的家目录
    cd - #表示回到刚刚的那个路径 
pwd(print working directory)
$ pwd #显示出目录
$ pwd -P #显示出真正的路径,而非使用链接(link)路径
mkdir(make directory)``
$ mkdir dicname #建立名为dicname的新目录
$ mkdir -p dicpath #帮助你直接将所需要的目录(包含上层目录递归创建)
# 如一次性创建dic1/dic2/dic3/dic4
$ mkdir -p dic1/dic2/dic3/dic4
$ mkdir -m 711 dicname #-m强制设置权限,不使用默认权限,此处711即为权限(之前提到过)
rmdir(remove directory 删除“空”目录)
$ rmdic dicname #删除目录(若该目录下还有内容则无法删除,因为只能删除空目录)
$ rmdic -p dicname dic1/dic2/dic3/dic4 # -p可连同上层“空的”目录一起删除(即自动递归删除)
$ rm -r dicname #将所有目录下的东西都删除(慎用)
其它
$ PATH="${PATH}:/root" # 将/root加入到执行文件查找路径PATH中
获取路径的文件名与目录名称 p186

besename 取得路径中的文件名

$ besename /etc/sysconfig/network #运行结果为network,就取得了最后的文件名

dirname取得路径中的目录名

$ dirname /etc/sysconfig/network #运行结果为/etc/sysconfig,取得的变为目录名

其它操作

FHS目录配置标准见P166~169

$ cp 源文件 目标文件 #复制文件

echo

$ echo $variable #echo有“显示、打印”之意,$后接变量,如
$ echo $PATH #显示目前的执行文件查找路径变量PATH

切换用户身份

$ su - accountname #切换为root身份时为【su -】
$ exit accountname #退出该用户
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值