Shell和命令

linux常用命令

2019-02-10  本文已影响19人  emmmm大师

一、命令基本格式及文件处理命令

1.命令提示符

[root@zcq ~]#
root:当前登录用户
zcq:主机名
~ :当前用户所在的目录
#: 超级用户的提示符
普通用户的提示符是$

2.命令格式

命令 [选项] [参数]
个别命令使用不遵循格式
当有多个选项时,可以写在一起
简化选项与完整选项
-a等于--all

3.ls

列出文件或者目录的信息,目录的信息就是其中包含的文件。

# ls [-aAdfFhilnrRSt] file|dir
-a :列出全部的文件
-d :仅列出目录本身
-l :以长数据串行列出,包含文件的属性与权限等等数据
-h : 人性化显示文件大小
-i : 显示inode

4.文件权限

-rwxrwxrwx. 1
-文件类型(- 文件 d目录 l软链接文件)
每三个字母一组分别代表 u所有者 g所属组 o其他人
r读 w写 x执行
.代表ACL权限
1代表引用计数

5.mkdir

创建目录。

# mkdir [-mp] 目录名称
-m :配置目录权限
-p :递归创建目录(这个很常用)

6.cd

更换当前目录。

cd [相对路径或绝对路径]
cd - 回到上一次目录

7.pwd

显示当前所在位置

8.rmdir

删除目录,目录必须为空。

rmdir [-p] 目录名称
-p :递归删除目录

9.rm

删除文件。

# rm [-fir] 文件或目录
-r :递归删除
-f : 强制删除

10.cp

复制文件。

如果源文件有两个以上,则目的文件一定要是目录才行。

cp [-adfilprsu] source destination
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr,包括文件的时间信息等.

11.mv

移动文件。

# mv [-fiu] source destination
# mv [options] source1 source2 source3 .... directory
-f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

12.常见目录

目录 说明
/root 根目录,万物起源
/boot 包含 Linux 内核,最初的 RMA 磁盘映像(系统启动时,由驱动程序所需),和启动加载程序
有趣的文件:<br />/boot/grub/grub.conf or menu.lst,被用来配置启动
加载程序<br />/boot/vmlinuz, Linux 内核
/bin 包含系统启动和运行所必须的二进制程序
/sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
/usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。usr (unix software resource)
/usr/bin 系统用户使用的应用程序
/usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序
/usr/src 内核源代码默认的放置目录
/proc 系统内存的映射目录,提供内核与进程信息
/lost+found 一般情况下是空的,当系统非法关机后,这里就存放了一些文件,文件系统恢复时的恢复文件
/var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。存放邮件、系统日志等变化文件,存放系统或程序运行过程中的数据文件(variable)
/tmp 这个目录是用来存放一些临时文件的
/etc 存放系统配置文件。它也包含一系列的 shell 脚本,在系统启动时,这些脚本会运行每个系统服务。这个目录中的任何文件应该是可读的文本文件。<br /><br />/etc/crontab,定义自动运行的任务。<br />/etc/fstab,包含存储设备的列表,以及与他们相关的
挂载点。<br />/etc/passwd,包含用户帐号列表。
/home 用户主目录,在通常的配置环境下,系统会在 /home 下,给每个用户分配一个目录。普通只能在他们自己的目录下创建文件。这个限制保护系统免受错误的用户活动破坏。
/dev 这是一个包含设备结点的特殊目录。“一切都是文件”,也使用于设备。在这个目录里,内核维护着它支持的设备
/lib 动态连接共享库,.so 文件,类似于 Windows 里的 dll 文件。
/mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
/media 系统会自动识别一些设备,例如 U 盘、光驱等等,把识别的设备挂载到这个目录下。
/sys sys 虚拟文件系统挂载点
/srv 存放服务相关数据
/opt 这是给主机额外安装软件所摆放的目录。比如你安装一个 ORACLE 数据库则就可以放到这个目录下。默认是空的。
/srv 该目录存放一些服务启动之后需要提取的数据。
/selinux 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux 相关的文件的。

13.链接命令

生成链接文件

ln -s [原文件] [目标文件]
-s 生成软链接

硬链接
一般情况下,文件名和 inode 号码是 "一一对应" 关系,每个 inode 号码对应一个文件名。但是,Unix/Linux 系统允许,多个文件名指向同一个 inode 号码。

这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为 "硬链接"(hard link)。

软链接
软链接(Symbolic Link,又称符号链接):软链接能跨越不同的文件系统,软链接记录的是目标的 path。源文件删除后,则软链接无效。相当于Windows系统中的“快捷方式”

二、指令与文件搜索

1.locate(文件搜索命令)

文件搜索。可以用关键字或者正则表达式进行搜索。速度非常快

注意: locate 是从数据库中读取数据(/var/lib/mlocate),而不是从文件系统中读取。从数据库中读取时是读取 updatedb 命令返回的结果,而 updatedb 命令默认是一天(24小时)才自动运行一次,这就意味着如果是最新创建的文件,使用 locate 命令可能查找不到。

解决方法 : 在使用 locate命令前,先手动运行updatedb命令(需要 root 权限):sudo updatedb

实例

搜索 etc 目录下所有以 sh 开头的文件:

locate /etc/sh

搜索用户主目录下,所有以m开头的文件:

locate ~/m

搜索用户主目录下,所有以m开头的文件,并且忽略大小写:

locate -i ~/m

可以通过/etc/updatedb.conf 配置文件配置搜索2


locate配置文件.png

2.whereis与which(命令的搜索命令)

# whereis [-bmsu] dirname/filename
-b 只查找可执行文件
-m 只查找帮助文件
[root@zcq ~]# whereis ls

which

echo $PATH
# which [-a] command
-a :将所有指令列出,而不是只列第一个

3.find

* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符

-10 10天内修改的文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容

-25k 小于25kb的文件
25k 等于25kb的文件
+25k 大于25kb的文件

4.grep(搜索字符串命令)

在文件当中匹配符合条件的字符串

grep [选项] 字符串 文件名
-i 忽略大小写
-v 排除指定字符串

三、帮助命令

1. man 命令( 获取指定命令的帮助)

man ls
查看ls的帮助

2. 命令 --help( 获取命令选项的帮助)

ls --help

四、压缩与解压缩命令

常用压缩格式如下:

扩展名 压缩程序
*.zip zip
*.gz gzip
*.bz2 bzip2
*.tar tar 程序打包的数据,没有经过压缩
*.tar.gz tar 程序打包的文件,经过 gzip 的压缩
*.tar.bz2 tar 程序打包的文件,经过 bzip2 的压缩

.zip

(一)压缩

(二)解压缩

.gz

(一)压缩

注:-c是将压缩的格式不写入新文件,打印到屏幕上,利用输出重定向造成一个既压缩.gz格式源文件也不消失的现象。但是gzip本身是不支持保留源文件压缩的。

(二)解压缩

.bz2

(一)压缩

(二)解压缩

tar

将一个目录打包成文件.tar格式,这样 .gz.bz2 可压缩,解压缩目录

-c   打包   
-x   解打包
-v   显示过程   
-f   指定打包后的文件名  

解打包命令

.tar.gz

.tar.bz2

其实 .tar.gz 格式是先打包成 .tar 格式,再压缩为 .gz 格式

tar命令参考选项

-A或--catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或--create:建立新的备份文件;
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别;
-x或--extract或--get:从备份文件中还原文件;
-t或--list:列出备份文件的内容;
-z或--gzip或--ungzip:通过gzip指令处理备份文件;
-Z或--compress或--uncompress:通过compress指令处理备份文件;
-f<备份文件>或--file=<备份文件>:指定备份文件;
-v或--verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或--same-permissions:用原来的文件权限还原文件;
-P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
--exclude=<范本样式>:排除符合范本样式的文件。

五、linux关机重启命令

1.shutdown

shutdown [选项] 时间

-c : 取消前一个关机命令
-h : 关机
-r : 重启

2.其他(不安全)

halt
poweroff
init 0

上一篇 下一篇

猜你喜欢

热点阅读