第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:q! 撤销本次修改并退出编辑
3.1.4 文件的查看【查】
Linux系统中使用以下命令来查看文件的内容:
你可以使用man [命令]来查看各个命令的使用文档,如 :man cp。
3.1.4.1 cat
由第一行开始显示文件内容
语法:
cat [-AbEnTv]
选项与参数:
检看 /etc/issue 这个文件的内容:
[root@www ~] cat /etc/issue CentOS release 6.4 (Final) Kernel \r on an \m
3.1.3.2 tac
tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写!如:
[root@www ~] tac /etc/issue
Kernel \r on an \m CentOS release 6.4 (Final)
3.1.3.3 nl
显示行号
语法:
nl [-bnw] 文件
选项与参数:
实例一:用 nl 列出 /etc/issue 的内容
牛逼啊!接私活必备的 N 个开源项目!赶快收藏吧
[root@www ~] nl /etc/issue 1 CentOS release 6.4 (Final) 2 Kernel \r on an \m 123
3.1.3.5 more
一页一页翻动
[root@www ~] more /etc/man_db.config # # Generated automatically from man.conf.in by the # configure script. # # man.conf from man-1.6d ....(中间省略).... --More--(28%) <== 重点在这一行喔!你的光标也会在这里等待你的命令
在 more 这个程序的运行过程中,你有几个按键可以按的:
3.1.3.6 less
一页一页翻动,以下实例输出/etc/man.config文件的内容:
[root@www ~] less /etc/man.config # # Generated automatically from man.conf.in by the # configure script. # # man.conf from man-1.6d ....(中间省略).... : <== 这里可以等待你输入命令!
less运行时可以输入的命令有:
3.1.3.7 head
取出文件前面几行
语法:
head [-n number] 文件
选项与参数:
[root@www ~] head /etc/man.config
默认的情况中,显示前面 10 行!若要显示前 20 行,就得要这样:
[root@www ~] head -n 20 /etc/man.config
3.1.3.8 tail
取出文件后面几行
语法:
tail [-n number] 文件
选项与参数:
[root@www ~] tail /etc/man.config # 默认的情况中,显示最后的十行!若要显示最后的 20 行,就得要这样:[root@www ~] tail -n 20 /etc/man.config
3.2 权限修改
Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。
使用权限: 所有使用者
语法
chmod [-cfvR] [--help] [--version] mode file...
参数说明
mode : 权限设定字串,格式如下 :
[ugoa...][[+-=][rwxX]...][,...]
其中:
其他参数说明:
权限的设定方法有两种, 分别可以使用数字或者是符号来进行权限的变更。
数字类型改变档案权限:

符号类型改变档案权限:

四、压缩文件操作
Linux 常用的压缩与解压缩命令有:tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等。
4.1 打包和压缩和解压
Windows的压缩文件的扩展名 .zip/.rar
linux中的打包文件:aa.tar
linux中的压缩文件:bb.gz
linux中打包并压缩的文件:.tar.gz
Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。
4.1.1 tar
最常用的打包命令是 tar,使用 tar 程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以 .tar 结尾的。生成 tar 包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲 tar 命令的基本用法。
tar 命令的选项有很多(用 man tar 可以查看到),但常用的就那么几个选项,下面来举例说明一下:
tar -cf all.tar *.jpg
这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指定包的文件名。
tar -rf all.tar *.gif
这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去,-r 是表示增加文件的意思。
tar -uf all.tar logo.gif
这条命令是更新原来 tar 包 all.tar 中 logo.gif 文件,-u 是表示更新文件的意思。
tar -tf all.tar
这条命令是列出 all.tar 包中所有文件,-t 是列出文件的意思。
tar -xf all.tar
这条命令是解出 all.tar 包中所有文件,-x 是解开的意思。
以上就是 tar 的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar 提供了一种特殊的功能。这就是 tar 可以在打包或解包的同时调用其它的压缩程序,比如调用 gzip、bzip2 等。
4.1.1.1 tar调用
gzip 是 GNU 组织开发的一个压缩程序,.gz 结尾的文件就是 gzip 压缩的结果。与 gzip 相对的解压程序是 gunzip。tar 中使用 -z 这个参数来调用gzip。下面来举例说明一下:
tar -czf all.tar.gz *.jpg
这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,包名为 all.tar.gz。
tar -xzf all.tar.gz
这条命令是将上面产生的包解开。
4.1.1.2 tar 调用 bzip2
bzip2 是一个压缩能力更强的压缩程序,.bz2 结尾的文件就是 bzip2 压缩的结果。
与 bzip2 相对的解压程序是 bunzip2。tar 中使用 -j 这个参数来调用 gzip。下面来举例说明一下:
tar -cjf all.tar.bz2 *.jpg
这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,包名为 all.tar.bz2
tar -xjf all.tar.bz2
这条命令是将上面产生的包解开。
4.1.1.3 tar 调用 compress
compress 也是一个压缩程序,但是好象使用 compress 的人不如 gzip 和 bzip2 的人多。.Z 结尾的文件就是 bzip2 压缩的结果。与 compress 相对的解压程序是 uncompress。tar 中使用 -Z 这个参数来调用 compress。下面来举例说明一下:
tar -cZf all.tar.Z *.jpg
这条命令是将所有 .jpg 的文件打成一个 tar 包,并且将其用 compress 压缩,生成一个 uncompress 压缩过的包,包名为 all.tar.Z。
tar -xZf all.tar.Z
这条命令是将上面产生的包解开。
有了上面的知识,你应该可以解开多种压缩文件了,下面对于 tar 系列的压缩文件作一个小结:
1) 对于.tar结尾的文件
tar -xf all.tar
2) 对于 .gz 结尾的文件
gzip -d all.gz gunzip all.gz
3)对于 .tgz 或 .tar.gz 结尾的文件
tar -xzf all.tar.gz tar -xzf all.tgz
4) 对于 .bz2 结尾的文件
bzip2 -d all.bz2 bunzip2 all.bz2
5) 对于 tar.bz2 结尾的文件
tar -xjf all.tar.bz2
6) 对于 .Z 结尾的文件
uncompress all.Z
7) 对于 .tar.Z 结尾的文件
tar -xZf all.tar.z
另外对于 Windows 下的常见压缩文件 .zip 和 .rar,Linux 也有相应的方法来解压它们:
1) 对于 .zip
linux 下提供了 zip 和 unzip 程序unix命令大全,zip 是压缩程序,unzip 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
zip all.zip *.jpg
这条命令是将所有 .jpg 的文件压缩成一个 zip 包:
unzip all.zip
这条命令是将 all.zip 中的所有文件解压出来。
2) 对于 .rar
要在 linux 下处理 .rar 文件,需要安装 RAR for Linux。下载地址:,下载后安装即可。
tar -xzpvf rarlinux-x64-5.6.b5.tar.gz cd rar make
这样就安装好了,安装后就有了 rar 和 unrar 这两个程序,rar 是压缩程序,unrar 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
rar a all *.jpg
这条命令是将所有 .jpg 的文件压缩成一个 rar 包,名为 all.rar,该程序会将 .rar 扩展名将自动附加到包名后。
unrar e all.rar
这条命令是将 all.rar 中的所有文件解压出来
4.2 扩展内容
tar
-c: 建立压缩档案 -x:解压 -t:查看内容 shell -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出
下面的参数 -f 是必须的:
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg
这条命令是将所有 .jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包,-f 指定包的文件名。
tar -rf all.tar *.gif
这条命令是将所有 .gif 的文件增加到 all.tar 的包里面去。-r 是表示增加文件的意思。
tar -uf all.tar logo.gif
这条命令是更新原来 tar 包 all.tar 中 logo.gif 文件,-u 是表示更新文件的意思。
tar -tf all.tar
这条命令是列出 all.tar 包中所有文件,-t 是列出文件的意思。
tar -xf all.tar
这条命令是解出 all.tar 包中所有文件,-x 是解开的意思。
压缩
tar –cvf jpg.tar *.jpg // 将目录里所有jpg文件打包成 tar.jpg tar –czf jpg.tar.gz *.jpg // 将目录里所有jpg文件打包成 jpg.tar 后,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,命名为 jpg.tar.gz tar –cjf jpg.tar.bz2 *.jpg // 将目录里所有jpg文件打包成 jpg.tar 后,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,命名为jpg.tar.bz2 tar –cZf jpg.tar.Z *.jpg // 将目录里所有 jpg 文件打包成 jpg.tar 后,并且将其用 compress 压缩,生成一个 umcompress 压缩过的包,命名为jpg.tar.Z rar a jpg.rar *.jpg // rar格式的压缩,需要先下载 rar for linux zip jpg.zip *.jpg // zip格式的压缩,需要先下载 zip for linux
解压
tar –xvf file.tar // 解压 tar 包 tar -xzvf file.tar.gz // 解压 tar.gz tar -xjvf file.tar.bz2 // 解压 tar.bz2 tar –xZvf file.tar.Z // 解压 tar.Z unrar e file.rar // 解压 rar unzip file.zip // 解压 zip
总结
1、*.tar 用 tar –xvf 解压 2、*.gz 用 gzip -d或者gunzip 解压 3、*.tar.gz和*.tgz 用 tar –xzf 解压 4、*.bz2 用 bzip2 -d或者用bunzip2 解压 5、*.tar.bz2用tar –xjf 解压 6、*.Z 用 uncompress 解压 7、*.tar.Z 用tar –xZf 解压 8、*.rar 用 unrar e解压 9、*.zip 用 unzip 解压
五、查找命令5.1 grep
grep命令是一种强大的文本搜索工具
使用实例:
ps -ef | grep sshd 查找指定ssh服务进程 ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身 ps -ef | grep sshd -c 查找指定进程个数
从文件内容查找匹配指定字符串的行:
$ grep "被查找的字符串" 文件名
例子:在当前目录里第一级文件夹中寻找包含指定字符串的 .in 文件
grep "thermcontact" /.in
从文件内容查找与正则表达式匹配的行:
$ grep –e "正则表达式" 文件名
查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名
查找匹配的行数:
$ grep -c “被查找的字符串” 文件名
从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名
5.2 find
find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。
find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。另外,搜索公众号编程技术圈后台回复“1024”,获取一份惊喜礼包。
使用实例:
find . -name "*.log" -ls 在当前目录查找以.log结尾的文件,并显示详细信息。find /root/ -perm 600 查找/root/目录下权限为600的文件 find . -type f -name "*.log" 查找当目录,以.log结尾的普通文件 find . -type d | sort 查找当前所有目录并排序 find . -size +100M 查找当前目录大于100M的文件
从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 “ERROR” 的行:
$ find / -type f -name "*.log" | xargs grep "ERROR"
例子:从当前目录开始查找所有扩展名为 .in 的文本文件,并找出包含 “thermcontact” 的行:
find . -name "*.in" | xargs grep "thermcontact"
5.3 locate
locate 让使用者可以很快速的搜寻某个路径。默认每天自动更新一次,所以使用locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。如果数据库中没有查询的数据,则会报出locate: can not stat () `/var/lib/mlocate/mlocate.db’: No such file or directory该错误!updatedb即可!
yum -y install mlocate 如果是精简版CentOS系统需要安装locate命令
使用实例:
updatedb locate /etc/sh 搜索etc目录下所有以sh开头的文件 locate pwd 查找和pwd相关的所有文件
5.4 whereis
whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。
使用实例:
whereis ls 将和ls文件相关的文件都查找出来
5.5 which
which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
使用实例:
which pwd 查找pwd命令所在路径 which java 查找path中java的路径
六、su、sudo6.1 su
Linux su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
使用权限:所有使用者。
语法
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
参数说明:
实例
变更帐号为 root 并在执行 ls 指令后退出变回原使用者
su -c ls root
变更帐号为 root 并传入 -f 参数给新执行的 shell
su root -f
变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)
su - clsung
切换用户
hnlinux@runoob.com:~$ whoami //显示当前用户 hnlinux hnlinux@runoob.com:~$ pwd //显示当前目录 /home/hnlinux hnlinux@runoob.com:~$ su root //切换到root用户 密码:root@runoob.com:/home/hnlinux# whoami root root@runoob.com:/home/hnlinux# pwd /home/hnlinux
切换用户,改变环境变量
hnlinux@runoob.com:~$ whoami //显示当前用户 hnlinux hnlinux@runoob.com:~$ pwd //显示当前目录 /home/hnlinux hnlinux@runoob.com:~$ su - root //切换到root用户 密码:root@runoob.com:/home/hnlinux# whoami root root@runoob.com:/home/hnlinux# pwd //显示当前目录 /root
su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。
su test:切换到test用户,但是路径还是/root目录 su - test : 切换到test用户,路径变成了/home/test su : 切换到root用户,但是路径还是原来的路径 su - : 切换到root用户,并且路径是/root su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。退出返回之前的用户:exit
6.2 sudo
sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。
进入sudo配置文件命令:
vi /etc/sudoer或者visudo
案例:
允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。
hadoop ALL=(ALL) ALL
案例:
只允许hadoop用户以root身份执行ls 、cat命令,并且执行时候免输入密码。
配置文件中:
hadoop ALL=NOPASSWD: /bin/ls, /bin/cat
su root -f
变更帐号为 clsung 并改变工作目录至 clsung 的家目录(home dir)
su - clsung
切换用户
hnlinux@runoob.com:~$ whoami //显示当前用户 hnlinux hnlinux@runoob.com:~$ pwd //显示当前目录 /home/hnlinux hnlinux@runoob.com:~$ su root //切换到root用户 密码:root@runoob.com:/home/hnlinux# whoami root root@runoob.com:/home/hnlinux# pwd /home/hnlinux
切换用户,改变环境变量
hnlinux@runoob.com:~$ whoami //显示当前用户 hnlinux hnlinux@runoob.com:~$ pwd //显示当前目录 /home/hnlinux hnlinux@runoob.com:~$ su - root //切换到root用户 密码:root@runoob.com:/home/hnlinux# whoami root root@runoob.com:/home/hnlinux# pwd //显示当前目录 /root
su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。
su test:切换到test用户,但是路径还是/root目录 su - test : 切换到test用户,路径变成了/home/test su : 切换到root用户,但是路径还是原来的路径 su - : 切换到root用户,并且路径是/root su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。退出返回之前的用户:exit
七、下载与安装 yum
yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
7.1 yum 语法
yum [options] [command] [package ...]
7.2 yum常用命令实例 1
安装 pam-devel
[root@www ~] yum install pam-devel Setting up Install Process Parsing package install arguments Resolving Dependencies <==先检查软件的属性相依问题 --> Running transaction check ---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated --> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel --> Running transaction check ---> Package pam.i386 0:0.99.6.2-4.el5 set to be updated filelists.xml.gz 100% |=========================| 1.6 MB 00:05 filelists.xml.gz 100% |=========================| 138 kB 00:00 -> Finished Dependency Resolution ……(省略)
实例 2
移除 pam-devel
[root@www ~] yum remove pam-devel Setting up Remove Process Resolving Dependencies <==同样的,先解决属性相依的问题 --> Running transaction check ---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be erased --> Finished Dependency Resolution
Dependencies Resolved
============================================================================= Package Arch Version Repository Size ============================================================================= Removing: pam-devel i386 0.99.6.2-4.el5 installed 495 k
Transaction Summary ============================================================================= Install 0 Package(s) Update 0 Package(s) Remove 1 Package(s) <==还好,并没有属性相依的问题,单纯移除一个软件
Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Erasing : pam-devel ######################### [1/1]
Removed: pam-devel.i386 0:0.99.6.2-4.el5 Complete!
实例 3
利用 yum 的功能,找出以 pam 为开头的软件名称有哪些?
[root@www ~] yum list pam* Installed Packages pam.i386 0.99.6.2-3.27.el5 installed pam_ccreds.i386 3-5 installed pam_krb5.i386 2.2.14-1 installed pam_passwdqc.i386 1.0.2-1.2.2 installed pam_pkcs11.i386 0.5.3-23 installed pam_smb.i386 1.1.7-7.2.1 installed Available Packages <==底下则是『可升级』的或『未安装』的 pam.i386 0.99.6.2-4.el5 base pam-devel.i386 0.99.6.2-4.el5 base pam_krb5.i386 2.2.14-10 base
7.3 国内 yum 源
网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错。
将yum源设置为163 yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。
安装步骤
首先备份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 1
下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo mv CentOS6-Base-163.repo CentOS-Base.repo
运行以下命令生成缓存
yum clean all yum makecache
除了网易之外,国内还有其他不错的 yum 源,比如中科大和搜狐。
(编辑:威海站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|