您的位置:首页 > 运维架构 > Linux

4.linux文件管理用户管理磁盘管理命令及感悟

2018-01-18 12:53 225 查看
文件管理
Cd:切换目录,例:cd /home/webuser;
Pwd:显示当前目录;
Ls:显示指定目录下的内容,缺省为当前目录,-a参数显示所有文件(包括隐藏文件),-l参数显示文件的详细信息;
Alias:起别名,例:alias ll='ls -l --color=auto';
Cat、more、less、tail都是查看文本类文件内容:
cat 会一次输出所有内容到标准输出上,常和重定向结合使用,Cat还有合并文件的功能,例:cat file1 file2 > file;
more一屏显示不完成时会暂停等待用户操作,按空格下翻一屏,按回车向下一行,直到文本结束或者按q键结束;
Less和more相似,不同的是less可以向后翻页;
Tail 显示文件的末尾行,缺省显示最后10行,-n参数可以设定显示的行数,-f参数当文件内容发生增加时自动显示。
Split:分割文件
例:split -b 2000m centos.iso centos.iso_part_ 会把centos.iso按每个2G分割成多个文件,centos.iso文件不会消失,会产生centos.iso_part_aa、centos.iso_part_ab之内的文件。
Cut:用来从标准输入或文本文件中剪切列或域。-c参数指定剪切的字符,-f指定剪切的域,-d指定分隔符。
vi:功能强大的文本编辑器,分编辑模式、命令模式和末行模式。编辑模式按ESC键切换到命令模式。命令模式下i键光标签插入,a键光标后插入,o光标下一下新建一行,G到文章末,1G到文章头。非编辑模式下按冒号进入模式,常用操作有 w保存,wq保存并退出,q退出,q!强制退出,set nu显示行号等等。
Grep:强大的文本搜索工具,支持正则表达式。和其他语言类似:^开头,$结尾,*零个或者多个,+一个或者多个,|多个匹配,[ ]范围匹配等等。例:ps -ef|grep java。
Sed:常用于替换文本内容。
Awk:能完成grep和sed完成的所有功能。
Wc:统计字节、字符、行。-c参数统计字节,-w统计字符,-l统计行。
例:ps -A|grep java|wc -l 统计当前系统中运行了几个java程序。
Touch: 从英文字面意思可以理解这个命令。常用的场合:当文件存在的时候更新文件的日期和时间,当文件不存在的时候创建文件。另外-d参数可使用指定的日期或时间。
Mv:剪切或重命名。
Cp:复制。常用参数-i 有同名文件时交互式提示用户,-r拷贝目录时递归下面的子目录,-f同名文件时不提示直接覆盖(和-i相反),-p拷贝时将权限和修改时间连带拷走(很常用,因为linux下权限控制比较严格)。有时候在部署web应用的时候需要覆盖大量的文件,加了-f参数还是会提示确实(一个个按y是很恼火的),这是因为我们用的cp命令不是原生态的,在主目录下有个.bashrc文件中给它起了别名。
Rm:删除。-r和-f参数cp。
Echo:回显。可以结合特殊符号$、``等使用。
例:xxx=123; echo $xxx 将会打印出123;
Echo `env` 将会打印出系统的环境变量。
Ln:建立硬链接。-s参数建立软链接。
Tar:可用于备份或打包压缩。常用参数:c 压缩,x解压缩,r追加文件到已存在的档案文件末尾,z 调用gzip来压缩/解压归档文件,v显示处理详细信息,p保留文件原来的权限,f使用档名(后立即接档名),j调用bzip2压缩/解压文件。
Zip:常用系统通用的压缩格式。常用参数:r 包含所有子目录和文件,q安静模式(不现实详细过程)。例:zip -q -r tomcat.zip tomcat/ 。
Unzip:解压缩zip格式归档包。常用参数:l查看压缩包中内容。
例:unzip -l tomcat.zip  打印tomcat.zip中的内容;
unzip tomcat.zip 解压缩tomcat.zip到当前目录。
Rpm:相当于windows下的添加/删除程序,是用来管理软件包的。增删改查:i 安装(install)、q 查询(query)、e 删除(erase)、U升级(upgrade);通用参数:v 打印详细信息,h打印hash值与参数v一起使用;
例:rpm -ivh  vsftpd*  安装ftp
Which:从环境变量$PATH中搜索可执行文件。
Whereis:搜索在数据库里的数据。参数:-b 二进制(binary)格式,-s源文件等。
Locate:也是从数据库中搜索,但可以通过“部分文件名“搜索,也就是名称记不全的时候很方便。依赖的DB是/var/lib/mlocate/mlocate.db,由于系统的更新频率不一致,有可能新增的查不到。
Find:最强大的搜索命令,但也最耗硬盘资源,可以配合各种通配符使用。
例:find / -name tomcat* 查找所有以tomcat打头的文件;
find . -type d -mtime +10 查找当前目录下10天前的目录;
find ! -name run.sh 查找当前目录和子目录下名字不是run.sh的文件。
Ldd:和其他命令不一样,它实际是个shell脚本。是用来查看程序运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题。
Make:编译程序的命令,源码安装时会用到。常用形式:make 编译,make clean 删除由make产生的文件,make check测试刚编译的软件(有可能不支持),make distclean删除./configure产生的文件,make install 安装已编译的程序并复制文件到prefix指定的目录中,make installcheck检测安装的程序和库文件(有可能不支持)。
Gcc:编译代码,其中会有预处理、汇编、编译并链接形成可执行文件这些步骤。例:
gcc test.c -o test ,将test.c变成可执行文件test,多个文件一起编译用空格分隔。
Source:点(.)命令,使刚修改的初始化文件不用重新登陆shell就生效,还有一个用途是把文件内容当做shell来执行(编译内核)。
Ulimit:设置shell启动进程的资源限制。常用参数: -a 显示当前所有限制,-n设置打开的文件描述符的,-s设置stack的大小(段错误segmentation fault)。
Inode: i节点是指对文件的索引。如一个系统,所有文件是放在磁盘或flash上,就要编个目录来说明每个文件在什么地方,有什么属性,及大小等。就像书本的目 录一样,便于查找和管理。这目录是操作系统需要的,用来找文件或叫管理文件。许多操作系统都用到这个概念,如linux, 某些嵌入式文件系统等。当然,对某个系统来说,有许多i节点。所以对i节点本身也是要进行管理的。
文件描述符:在linux中,内核通过inode来找到每个文件,但一个文件可以被许多用户同时打开或一个用户同时打开多次。这就有一个问题,如何管理文件的当前位移 量,因为可能每个用户打开文件后进行的操作都不一样,这样文件位移量也不同,当然还有其他的一些问题。所以linux又搞了一个文件描述符(file descriptor)这个东西,来分别为每一个用户服务。每个用户每次打开一个文件,就产生一个文件描述符,多次打开就产生多个文件描述符,一一对应, 不管是同一个用户,还是多个用户。该文件描述符就记录了当前打开的文件的偏移量等数据。所以一个i节点可以有0个或
用户管理
查看所有用户
 
cut -d : -f 1 /etc/passwd
 
添加用户
 
useradd 命令可以创建一个新的用户帐号,其最基本用法为:
useradd 用户名
如输入以下命令:
adduser newuser
useradd newuser
系统将创建一个新用户 newuser,该用户的Home 目录为/home/newuser。
useradd 命令的参数较多,常用的组合为:
useradd 用户名 -g 组名–G 组名-d Home 目录名-p 密码
其中:-g 指定该用户的首要组
-G 指定该用户的次要组
-d 指定该用户的Home 目录
-p 指定该用户的密码
如输入以下命令:
useradd oracle –g oinstall –G dba –d /home/oracle –p ora123
系统将创建一个用户 oracle oracle 用户的首要组为oinstall ,次要组为dba,Home 目录为/home/oracle ,密码为ora123。
 
删除用户
 
userdel 命令用于删除一个已存在的帐号,其用法为:
userdel 用户名
 
添加分组
 
groupadd 命令可以创建一个新的用户组,其最基本用法为:
groupadd 组名
如输入以下命令:
groupadd newgroup
系统将创建一个新的用户组 newgroup。
 
删除分组
 
groupdel 命令用于删除一个已存在的用户组,其用法为:
groupdel 组名
 
修改密码
 
出于系统安全考虑, Linux 系统中的每一个用户除了有其用户名外还有其对应的用户口令,用户可以随时用passwd 命令改变自己的口令。该命令的一般格式为:
passwd
输入该命令后, 按系统提示依次输入密码和密码确认后,即可完成用户密码的修改。
此外, 超级用户还可以修改其他用户的口令,命令如下:
passwd 用户名
 
例如:
passwd username
Changing password for user test.
New password: 这里输入密码
Retype new password: 再次输入密码
passwd: all authentication tokens updated successfully.
 
su切换用户
 
su 命令这个命令非常重要,它可以让一个普通用户拥有超级用户或其他用户的权限,
也可以让超级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用户的口令。
如要离开当前用户的身份,可以键入exit 命令,su 命令的一般形式为:
su – 用户名
 
chmod修改访问权限
 
chmod 命令是非常重要的,用于改变文件或目录的访问权限。该命令有两种用法:一种是包含字母和操作符表达式的文字设定法,另一种是包含数字的数字设定法。
由于数字设定法不太直观 ,本文不做介绍。文字设定法的用法如下:
chmod [who] [+ | - | =] [mode] 文件名
命令中各选项的含义为:
1 、操作对象who 可以是下述字母中的任一个或者它们的组合:
u 表示用户(user) ,即文件或目录的所有者
g 表示同组(group)用户,即与文件属主有相同组ID 的所有用户
o 表示其他(others)用户
a 表示所有(all)用户,它是系统默认值。
2 、操作符号可以是:
+ 添加某个权限
- 取消某个权限
= 赋予给定权限,并取消其他所有权限
3 mode 表示权限常用的参数有
r 可读
w 可写
x 可执行
举例:
1 、将文件 script 的权限设为可执行。命令如下:
chmod =rx text
执行成功后 ,用ls -l script 命令查看文件属性的结果如下:
-r-xr-xr-x 1 user group 0 Feb 10 09:42 script
2 、将文件 text 的权限设为:文件属主可读、可写、可执行,与文件属主同组的用户可读,其他用户不可读。命令如下:
chmod u=rwx,g=r,o= text (注意,后无空格o=后有空格)
执行成功后 ,用ls –l text 命令查看文件属性的结果如下:
-rwxr—– 1 user group 0 Feb 10 09:42 text
8. chown
chown 用于更改某个文件或目录的属主和属组,这个命令也很常用。例如root 用户把自己的一个文件拷贝给用户oracle ,为了让用户oracle 能够存取这个文件,root 用户应该把这个文件的属主设为oracle ,否则用户oracle无法存取这个文件。chown 的基本用法为:
chown [用户:组] 文件
举例:
chown oracle:dba text
该命令将 text 文件的属主和属组分别改为oracle 和dba。
磁盘管理
多个文件描述符。多个文件描述符可以对 应一个i节点。
 
  日程磁盘管理中,我们最常用的有查看当前磁盘使用情况,查看当前目录所占大小,以及打包压缩与解压缩;
    查看磁盘空间
    查看磁盘空间利用大小
     df -h
     -h: human缩写,以人类易读方式显示结果(既带单位:比如M/G,如果不加这个参数,显示的数字以B为单位)
     $df -h
     /opt/app/todeav/config#df -h
     Filesystem Size Used Avail Use% Mounted on
     /dev/mapper/VolGroup00-LogVol00
     2.0G 711M 1.2G 38% /
     /dev/mapper/vg1-lv2 20G 3.8G 15G 21% /opt/applog
     /dev/mapper/vg1-lv1 20G 13G 5.6G 70% /opt/app查看当前目录所占空间大小
     du -sh
     -h 人性化显示
     -s 递归整个目录的大小
     $du -sh
     653M查看当前目录下所有子文件夹排序后的大小
     for i in `ls`; do du -sh $i; done | sort
     或者:
      du -sh `ls` | sort打包/ 压缩
      打包
      在linux中打包和压缩和分两步来实现的;打包是将多个文件归并到一个文件;压缩命令实现大小;
      tar -cvf etc.tar /etc
      ==仅打包,不压缩!
      -c :打包选项
      -v :显示打包进度
      -f :使用档案文件
      注:有的系统中指定参数时不需要在前面加上-,直接使用tar xvf
 
  压缩
      $gzip demo.txt
 
  生成
      demo.txt.gz
      解包/解压缩
      解包
       tar -xvf demo.tar
       -x 解包选项
       解压后缀为 .tar.gz的文件
       先解压缩,生成**.tar
       $gunzip demo.tar.gz2.
       解包:
         $tar -xvf demo.tar
         $bzip2 -d demo.tar.bz2bz2
       解压
         tar jxvf demo.tar.bz2
         如果tar 不支持j,则同样需要分两步来解包解压缩,使用bzip2来解压,再使用tar解包;
          bzip2 -d demo.tar.bz2
          tar -xvf demo.tar
          -d decompose
       解压缩
         tar解压参数说明:
         -z 解压gz文件
         -j 解压bz2文件
         -J 解压xz文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: