一、shell如何处理命令

  • 1.shell会根据在命令中出现的空格字符,将命令划分为多个部分
  • 2.判断第一个字段是内部命令还是外部命令
内部命令:内置于shell的命令(shell builtin)
外部命令:通过安装其他应用程序或服务而安装来的命令 路径:为了查找或定位某个文件所必需经过的目录的层次结构
相对路径:从工作目录开始查找的路径
. 当前的工作目录
.. 当前的工作目录的父目录
根的父目录还是根
绝对路径:从根(/)开始查找的路径 变量:内存空间
变量值:存放在内存空间中的数据
空变量:NULL
环境变量PATH(路径),绝对路径:PATH=PATH1:PATH2:PATH3:...
  • 3.判断其他的字段是选项还是参数,判断正确与否,如果正确就执行,如果错误就返回错误信息
  • 4.在命令书写过程中按回车键将书写的内容提交给shell执行
  • 5.如果想要在提交shell之前取消命令就用ctrl+C

二、文件查看,操作

帮助类
man,help,info,whereis,which,whatis
目录操作类
ls,pwd,cd,mkdir,rmdir
文件操作类
nano,touch,rm,cp,mv,stat
文件查看类
cat,tac,head,tail,less,more
文本处理
cut,sort,uniq,tr,sed,awk

1、查看

  • ls-->list
列表显示目录的内容
用法: ls [OPTION]... [FILE]...
[]:可选的内容
{}:必选的内容
|:多选一 默认的参数就是工作目录 选项: -l: 长格式输出
-rw-------. root root May : anaconda-ks.cfg 第一位表示文件的类型:
-:表示普通文件(f,file)
b:表示块设备文件(block)
c:字符设备文件(charact)
d:目录文件
l:符号链接文件(symbol link)
p:管道文件(pipe)
s:套接字文件(socket)
第二到第十位:文件的权限位,三组权限位,每组包括三个权限字符,rwx,读写执行。若没有权限就使用-代替
第二段的数字1:表示文件被硬链接的次数
第三段:文件的所有者,root
第四段:文件见的所属组,root
第五段:文件的大小,默认以byte为单位进行显示
第六段:时间戳(访问时间,修改时间,改变时间)
访问时间:access timestamp
修改时间:modified timestamp(改的是数据内容,对数据的内容进行编辑,叫修改)
改变时间:change timestamp(metadata,元数据,对元数据的编辑叫改变)
第七段:文件名
在linux中,以.字符作为文件名第一个字符的文件,就是隐藏文件 -a: 显示所有文件,包括隐藏文件 -A: 显示所有文件,包括隐藏文件,但不包括.和.. -h: 以人类方便读的方式显示 -d: 以文件夹的属性代替内部子文件的属性输出 -r: 倒序显示 -R: 递归显示(recursive) -Z: 显示文件安全上下文
  • cat
查看文件
-n:给所有行编号
-b: 不对空白行编号
tac cat的倒序显示
  • head
从头开始查看,默认前十行
head -n :查看前三行 还可以直接写成 head -
head -c :查看50字节
head -c 1b:查看一个扇区512字节的内容
  • tail
从结尾开始查看。选项类比head
-f :实时监控的文件末尾的内容变化
  • more
分页显示文件内容 只能往后看
  • less
  • whereis
显示命令的二进制文件,帮助手册路径
  • which
查看文件在哪,只显示二进制文件路径
  • whatis
只显示帮助手册路径
  • stat
查看文件属性(访问时间,修改时间,改变时间)

2、目录操作

  • pwd

显示工作目录(绝对路径)默认的工作目录是/root,root用户的家(宿主目录),默认用户登录的第一个目录就是宿主目录

  • cd

切换工作目录
如果没有参数,那么默认的参数是用户的宿主目录
cd ~ :切换到宿主目录
cd - :切换到上一次使用的工作目录

  • mkdir

创建目录

mkdir [OPTION]... DIRECTORY...
选项: -p :在创建子目录之前,先创建父母录
-v :显示创建文件夹详细的过程
命令展开功能,使用{},中间用逗号分隔
  • rmdir

删除目录(只能删除空目录)若一个目录只有.和..,那么就认为这个目录为空
rmdir [OPTION]... DIRECTORY...

  • rm

移除

rm [OPTION]... FILE...
选项:-r:可以删除目录
-f:强制删除
  • type

区分命令为内部命令还是外部命令

获得帮助
内部命令:help 内部命令
外部命令:
man 外部命令
info
--help

3、文件编辑

  • echo

-n:不输出换行符号
-e:使得反斜杠生效

  • nano
文本编辑工具,增强版的pico
^:脱字符
.一般在编辑模式中相当于ctrl键
.在其他的用途中,有不同的意义,如:可以取反,可以表示行首
默认有换行符,一个换行符相当于一个字节
ctrl+o保存
ctrl+x退出
  • touch

改变文件的时间戳。当文件不存在时,会创建文件
-a:只修改文件的访问时间
-m:只修改文件的修改时间
-c:不创建文件

4、时间命令

  • clock

硬件时间

  • date

系统时间

设置时间:
.date 月日时分年.秒
date
Thu Sep :: CST
.date -s ”年/月/日 时:分:秒”
date -s "2015/09/17 15:32:11"
Thu Sep :: CST
.date +%Y
  • hwclock
RTC:实时时钟
-s 把硬件时间同步到系统时间
-w 把系统时间同步到硬件时间 touch的时间默认来源于系统时间
  • bc  计算器
  • cal:日历

5、文本处理

  • cut
remove sections from each line of files
-d 指明分隔符号,默认空格
-f 指明操作区域 -f 第一列
eg:cut -d : -f /etc/passwd
cut -d : -f 7 /etc/passwd | sort | uniq -c
  • sort
sort lines of text files 排序,默认顺序ASCII编码
-n : 按数字大小排列,从小到大
-r : 倒序
-t : 指明分隔符号
-k : 指明操作区域
-u : 如果存在多个重复的内容则显示为一行,相当于uniq命令 sort -n -t : -k /etc/passwd
  • uniq
类似于 sort -u
-c :统计连续的重复行的数量
-u :只输出唯一的行,(不连续重复出现的)
  • tr
字符集转换
tr 'ab' 'AB' < /etc/passwd 对位替换
  • wc
字计数器
wc - print newline, word, and byte counts for each file
-l 只显示行数
-w 只显示字数
-c 只显示字符数
wc /etc/passwd
/etc/passwd

三、文件类型介绍

  • 通过颜色来区分文件类型

黑色或白色:普通文件
黄色:设备文件
深蓝色:目录文件
浅蓝色:符号链接
棕色:管道
紫色:套接字文件
红色:软件包,压缩包
绿色:可执行文件FI

file命令 查看文件类型

FHS:文件系统层级标准

/:根目录
/bin:通常存放普通的命令,这些命令可以被所有用户执行,二进制文件
/sbin:超级用户的bin,通常存放管理类命令,只有root才可以执行
/boot:存放着跟系统启动有关的文件,引导系统的程序,内核,ramfs镜像
/dev:存放设备文件目录

每个设备文件都有俩个设备号:主设备号,次设备号
主设备号:当前设备所使用的驱动程序的数字编号,MAJOR
次设备号:使用相同驱动程序的不同设备编号,MINO 设备文件又分为两类:
块设备文件:用于进行数据的存储和交换的设备,随机访问,比如:硬盘,光驱,内存
字符设备文件:用于进行数据的传输和处理的设备,线性访问,比如:网卡,总线,键盘

/etc:配置文件
/home:所有普通用户的家目录的根目录,每个用户的家目录名称都默认与用户名相同,
但是此目录不包括root用户的家目录
/root:root用户的家目录,宿主目录
/lib:库文件存放目录
/lib/modules:内核专用的库

库文件分为两类:
静态库:.a
动态库:.so
内核专用库:.ko ldd 查看命令用了哪些库

/media:挂载点,常用块文件的默认挂载点,光驱、硬盘、软驱等设备的默认挂载点
/mnt:挂载点,常用的其他外部设备的自定义挂载点
挂载点:用来链接或者存放分区的文件夹
/proc:伪文件系统,内存信息中的映射
/sys:伪文件系统,将/proc里面的有关硬件设备的信息进行映射
/tmp:临时文件夹,缓存数据的存放地
/var:可变化的文件,如:日志、文件锁等
/usr:通用共享资源,第三方软件的安装目录
/usr/bin
/usr/sbin
/usr/etc
上述目录一般是安装二进制软件包时候使用的

/usr/local/etc/
/usr/local/bin
/usr/local/sbin
上述目录一般是编译源代码安装软件包时候使用的

四、文件权限

  • DAC:自主访问控制

                 文件             目录
r:读 获得文件的内容 查看目录中的文件
w:写 编辑文件的内容 创建,修改删除文件名
x:执行 将文件当作命令执行 可以进入,引用目录,查看详细信息 rwxrwxrwx
第一段:所有者权限
第二段:所有组权限
第三段:其他人权限
  • chmod 修改指定文件的权限位值

chmod 权限位值 文件名
权限位值有两种表示方式:
符号标识:
权限位标识:
u:表示所有者
g:所属组
o:其他人
a:u+g+o
赋值标识:
+:在原有的权限基础上添加新的权限
-:在原有的权限基础上删除权限
=:不管原有的权限如何,直接设定新的权限
权限标识:
r w x
举例:
chmod u+x textfile 在原有的权限基础上给所有者添加执行的权限
chmod g+x,o+x textfile
chmod a+x textfile 可以写成 chmod +x textfile 数字标识:
r:
w:
x: 1
r-x:5 chmod 500 testfile 若使用符号标识法,可以针对某个权限位单独设置
使用数字标识法,必须完整的写出三个权限位的权限值
  • umask 权限遮罩码 002 022

创建新的目录,目录的默认权限 -umask
创建新的文件,文件的默认权限 -umask
注意:
文件的最高权限为666,目录的最高权限是777
权限不能使用数字进行换算,必须使用字母;
umask定义的权限是系统默认权限准备丢弃的权限
Umask的来源
cat /etc/bashrc
f [ $UID -gt ] && [ "`id -gn`" = "`id -un`" ]; then
umask
else
umask
fi
  • chown 改变文件的所有者和所属组

-R 递归修改目录的所有权以及目录中子文件、子目录的所有权
chown USERNAME FILE 只修改文件的所有者
chown :GROUPNAME FILE 只修改文件的所属组
chown USERNAME: FILE 同时修改文件的所有者和所属组,所属组就是用户的主要组
chown USERNAME:GROUPNAME FILE 修改文件的所有者和所属组,所有者是USERNAME,所属组是GROUPNAME
  • chgrp 改变文件的所属组

  • facl 文件系统访问控制列表,对于权限的扩展属性的设定

  • getfacl 查看文件的扩展属性列表
    setfacl 设置文件的扩展属性列表

-m:修改
setfacl -m u:UID或用户名:权限 FILE
setfacl -m g:GID:权限 FILE
-x:撤销修改
setfacl -x u:UID FILE
setfacl -x g:GID FILE
特殊权限
SUID:超级用户权限 s或S (出现在所有者的执行权限位置)
SGID:超级组权限 s或S (出现在所属组的执行权限位置)
Sticky:粘滞位 t或T (出现在其他人的执行权限位置)
如果在设置特殊权限位之前,文件具有执行权限,那么特殊权限就是小写字母,反之大写字母 文件 目录 SUID 在执行一个具有SUID命令时,执行者会 没有意义
以该命令的所有者身份来执行
SGID 在执行一个具有SGID命令时,执行者会 具有这样权限的目录,在其中
以该命令的所属组身份来执行(几乎不用) 建立的所有文件,所属组自动继承目录的所属组
Sticky 没有意义 如果用户对于一个有sticky权限的目录有写权限,用户只能修改
那些所有者为自己的文件

补充:

  • ln:创建链接文件,默认创建硬链接

链接文件的类型:
硬链接:
一个文件的多个文件名
软连接(符号链接):快捷方式(访问路径)
-s:创建符号链接
-v:显示链接创建过程
注意:创建链接时,最好写绝对路径

【linux之文件查看,操作,权限管理】的更多相关文章

  1. Linux的文件、目录权限管理

    查看文件夹的详细信息 [root@s25linux ~]# ll /tmp总用量 4drwxr-xr-x. 2 root root   6 2月 17 11:00 hehe   #文件夹 解读它的信息 ...

  2. linux常用命令之------文件操作、文件查看、权限、打包压缩

    1.一般公司把linux作为自己的应用服务器,将应用和服务器部署在上面 2.测试一般用来打包.压缩.查日志,写一个简单的shell 获得linux服务器的方式 a:网上租一台云服务器 b:安装vmwa ...

  3. 【linux之文件查看,操作】

    一.shell如何处理命令 1.shell会根据在命令中出现的空格字符,将命令划分为多个部分 2.判断第一个字段是内部命令还是外部命令 内部命令:内置于shell的命令(shell builtin) ...

  4. LInux文件管理篇,权限管理

    一: chgrp 改变文件所属用户组 chown 改变文件所有者 注意: 1.使用格式 chgrp/chown     user      file eg: chgrp lanyue permissi ...

  5. LINUX用户、组、权限管理和归档压缩、时间、Ping

    一.用户与用户组管理.权限 1.用户文件/etc/passwd 2.用户密码/etc/shadow 3.组文件/etc/group 4.查看用户和组信息命令id 5.添加用户 useradd [-u ...

  6. Linux之文件(目录)默认权限、特殊权限与隐藏权限

    文件默认权限 从Linux之用户组.文件权限详解了解到文件与目录的基本权限管理,文件在创建时如果不指定具体的权限,那么系统会给它分配一个默认的权限,这个默认权限就是umask. vbird@Ubunt ...

  7. Linux 程序设计学习笔记----Linux下文件类型和属性管理

    转载请注明出处:http://blog.csdn.net/suool/article/details/38318225 部分内容整理自网络,在此感谢各位大神. Linux文件类型和权限 数据表示 文件 ...

  8. Linux云计算-04_Linux用户及权限管理

    Linux是一个多用户的操作系统,引入用户,可以更加方便管理Linux服务器,系统默认需要以一个用户的身份登录,而且在系统上启动进程也需要以一个用户身份器运行,用户可以限制某些进程对特定资源的权限控制 ...

  9. linux学习8 第八章 权限管理

    8.1 ACL权限 8.2 文件特殊权限 8.3 文件系统属性chattr权限 8.4 系统命令sudo权限 8.1 ACL权限 ACL权限简介与开启 查看与设定ACL权限 最大有效权限与删除ACL权 ...

随机推荐

  1. 如何用Python为你的邮箱加油?还有这种操作!

    我来介绍一下我是如何使用 Python 来节省成本的. 我最近在开一辆烧 93 号汽油的车子.根据汽车制造商的说法,它只需要加 91 号汽油就可以了.然而,在美国只能买到 87 号.89 号.93 号 ...

  2. Django 前后端不分离 代码结构详解

    Demo:  hello_pycharm 根目录文件:hello_pycharm [__init__.py  __pycache__  settings.py  urls.py  wsgi.py] A ...

  3. K-SVD字典学习及其实现(Python)

    算法思想 算法求解思路为交替迭代的进行稀疏编码和字典更新两个步骤. K-SVD在构建字典步骤中,K-SVD不仅仅将原子依次更新,对于原子对应的稀疏矩阵中行向量也依次进行了修正. 不像MOP,K-SVD ...

  4. linux go环境安装

    方法一 这次将源码包安装的目录是是/root下. 1.官网下载源码包. 官网链接:https://golang.org/dl/   wget https://storage.googleapis.co ...

  5. Docker部署Golang

    1. 安装docker 2. mkdir myDocker 3.  cd myDocker && touch Dockerfile 4.  Dockerfile写入 # 将golang ...

  6. linux安装nginx并配置负载均衡

    linux上安装nginx比较简单: 前提是需要有gcc或者g++ 1.yum需要的依赖  yum -y install openssl openssl-devel 2.解压pcre库.zlib库   ...

  7. No.101_第二次团队会议

    时间的敲定 在这一次的会议中,明确了任务目标,将任务进行合理分配,并且规划了整个任务的时间节点,这对团队来说非常重要. 一.最终项目 在上一节课的时候,我们最终没有拿到学霸开发项目,最后爬虫也被选走了 ...

  8. Linux 目录结构及文件基本操作

    Linux 目录结构及文件基本操作 实验介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux ...

  9. 第二阶段每日站立会议Forth Day

    昨天对于程序中的字体显示进行细化修改,使界面更美观 今天准备继续调试手机界面 遇到的问题:上几次Tomcat运行正常,今天突然出现问题,Tomcat服务可以打开,但是无法连接到数据库

  10. 第二阶段Sprint冲刺会议9

    进展:查看有关“共享平台”的资料,看如何实现上传下载功能,并尝试编码,没有成功.