首先,先了解一下什么是shell? Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送到内核去执行。Shell也被称为Linux的命令解释器,Shell是一种高级程序设计语言。 [root@localhost ~]# echo $SHELL 查看当前的shell类型 /bin/bash [root@localhost ~]# cat /etc/shells 查看当前系统安装的shell /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh 在shell中可执行的命令有两类:内部命令和外部命令。 一.内部命令与外部命令 内部命令 由shell自带,而且通过某种命令形式提供,在系统启动时就调入内存,是常驻内存的,所以执行效率高。 外部命令 在文件系统路径下有所对应的可执行程序文件,用户需要时才从硬盘中读入内存。 type命令可以分辨内部命令与外部命令
enable既可以查看内部命令,同时也可以判断是否为内部命令 当执行一条命令时的查找顺序:别名(alias)>内部命令>外部命令:hash PATH 也就是说当一条命令执行时 1.先去判断它是否是别名 2.判段命令是否是内部命令 3.看hash是否为空,若不为空,则去hash表中指定的路径查找 若以上三步都不执行,则按照path路径挨个查找。 二.常用的简单命令 screen命令: screen -S 会话名 创建新screen会话 screen -x 会话名 加入已创建的screen会话 screen -ls 显示所有已经打开的screen会话 exit 退出并关闭screen会话 echo命令: $() 或 `` 把一个命令的输出打印给另一个命令的参数 $(()) 或$[] 进行运算 使用${}或"$变量名" 划定变量名的起止范围 history命令:显示当前终端的历史记录 bash快捷键: Ctrl+l 清屏,相当于clear命令 Ctrl+o 执行当前命令,并重新显示本命令 Ctrl+s 阻止屏幕输出,锁定,但仍可以运行命令。 Ctrl+q 允许屏幕输出 Ctrl+c 强制结束 Ctrl+d 正常终止 Ctrl+z 挂起(暂停)命令 man中的章节 1.用户命令 2.系统调用 3.C库调用 4.设备文件 5.配置文件格式 6.游戏 7.杂项 8.管理类的命令 9.Linux 内核API 以上章节 1,5,8章节是重点常用章节 man -w ls 查看文件路径 man 5 passwd 显示第五章节内容 三.文件管理 Linux文件系统是一个树形结构,为了有序地管理那些文件,人们习惯把这些文件当做是硬盘上的有序的树状结构,正如我们熟悉的'MS-DOS'(磁盘操作系统)就是一个例子。大的分枝包括更多的分枝,分枝的末梢是树的叶子或者普通的文件。 文件有两类数据:元数据(metadata) 数据(data) 文件名规则:蓝色-->目录 红色-->压缩文件 绿色-->可执行文件 浅蓝色-->链接文件 灰色-->其他文件 ls用法 ls -a 显示所有文件 ls -A 显示所有文件,除.、.. ls -l 长列出 -rw-r--r--. 1 root root 2193 Jul 14 17:28 passwd 文件类型|owner权限group权限other权限|硬链接数|owner|group|文件大小(bytes)|mtime|文件名 (文件类型 在长列出时能够看到) -: 普通文件 d: 目录文件 b: 块设备 c: 字符设备 l: 软链接 p: 管道文件 s: 套接字文件 ls -R 递归 ls -ld 显示指定目录的详细信息。 ls -1 竖显示 ls -S 按文件大小降序排列 ls -t 按修改时间(mtime)从新到旧排列 ls -ut 按访问时间(atime) 从新到旧排列 ls -U 按文件存放的先后顺序 ls -X 按文件后缀排序 ls -i 显示inode号 时间戳: atime 访问时间 mtime 文件数据修改时间 ctime 文件元数据修改时间 四.硬链接和软链接 硬链接 创建硬链接会增加额外的记录项以引用文件 对应于同一个文件系统上一个物理文件 每个目录引用相同的inode号 创建时链接数递增 不能跨越驱动器或分区 语法:ln filename linkname(不能跨分区) 软连接 一个符号链接指向另一个文件 ls -l 的显示链接的名称和引用的文件 一个符号的链接内容是它引用文件的名称 可以对目录进行 可以跨分区 指向的是另一个文件的路径 语法:ln -s filename linkname(可以跨分区,源被删除,链接也不可用) 五.重定向和管道 把输出和错误重新定向到文件: 命令 操作符号 文件名 支持的操作符号包括:
把标准输出重定向到文件 2> 把标准错误重定向到文件 &> 把全部输出重定向到文件 文件不存在时,>和>> 都能创建新文件,文件已存在时 >表示覆盖,>>表示追加 2>&1 把错误的结果转成正确的结果 1>&2 把正确的结果转成错误的结果