Linux命令行与shell脚本编程-part1-基本bash shell命令

Linux命令行与shell脚本编程-part1-基本bash shell命令
 1.12启动shell
GNU bash shell 能提供与Linux系统交互访问,在Linux系统中打开终端就进入了bash shell。登录时系统启动的shell依赖于用户账户的配置。用户的基本配置信息在/etc/passwd文件中,文件中条目格式如下:共7段每段用冒号分隔开
用户名:用户密码(密码加密存储在其他地方,在这只是占位符):用户的系统UID:用户的系统GID:用户默认主目录:用户默认shell

bash程序使用命令行参数来修改所启动shell的类型

参数 描述
-c string 从string中读取命令并处理他们
-r 启动限制性shell,限制用户在默认目录下活动
-i 启动交互性shell,允许用户输入
-s 从标准输入读取命令
1.13shell提示符(进入后光标之前的内容) 
通常是shell的图片(本人用的是VMware里的Ubuntu)
格式为:启动shell用户名@当前虚拟控制台编号:当前目录(~的意思是主目录的缩写)
在这提下bash手册 “man bash”是打开手册的命令 凡有不懂的地方 手册里都有解释

bash shell提示符字符串中使用的特殊字符

字符 描述
\a 报警字符
\d “日 月 年”格式显示的日期
\e ASCII转义字符
\h 本地主机名
\H 完全限定名(FQDN)
\j shell当前管理的任务数
\l shell的终端设备名中的基名
\n ASCII换行符
\r ASCII回车符
\s shell的名称
\t 24小时制HH:MM:SS格式的当前时间
\T 12小时制HH:MM:SS格式的当前时间
\@ 12小时制am/pm格式的当前时间
\u 当前用户的用户名
\v bash shell的版本
\V bash shell的发行版本
\w 当前工作目录
\W 当前工作目录的基名
\! 这个命令在bash shell历史记录中的位置
\# 这个命令在当前命令行的位置
\$ 普通用户下的美元符,root用户下的井号
\nnn 与8进制nnn对应的字符
\\ 反斜线
\[ 开始一个控制字符序列
\] 结束一个控制字符序列
1.14Linux文件系统
和window不一样Linux文件系统为一个倒转的单根树桩结构,且文件系统的根为' / ';文件系严格区分大小写,路径使用'/'分割

Linux PC上安装的第一块硬盘为根驱动器。根驱动器包含了虚拟目录的核心,其他目录都是从那里开始创建的

挂载点(mount point)是虚拟目录中用于分配额外存储设备的目录

Linux目录名称:

/                虚拟目录的根目录                                                                    /bin           二进制目录,里面存放许多GNU用户级的工具

/boot     启动目录,存放启动文件                                             /dev       设备目录,Linux在这创建设备节点

/etc       系统配置文件目录                                                      /home     主目录,用户家目录

/lib         库目录,存放系统和应用的库文件                                 /media    媒体目录,可移动媒体设备挂载点 

/mnt      挂载目录,默认挂载目录                                             /opt        可选目录,存放软件包

/root      根目录                                                                     /sbin       系统二进制目录,里面放GNUroot级工具

/tmp      临时目录                                                                   /usr        用户安装软件目录

/var       可变目录,存放经常变化的文件如日志等

遍历目录:绝对文件路径(目录从根目录开始写到目标目录)相对文件路径(从当前目录写到目标目录)

(.)表示当前目录                                   (..)表示上一级目录

1.15常用命令

列表指令ls ;列出当前目录下的文件,加参数修改输入

ls命令参数

单字母 全字 描述
-A --almost-all 不要输出“.”和“..”文件
  --author 作者
-b --escape 输出不可打印字符的8进制值
  --block-size=size 按size字节大小的块来计算块大小(块数)
-B --ignore-backups 不要列出名称中包含波浪线(~)的条目(波浪线用来表示备份的副本)
-F --classify 给条目追加文件类型标识符
  --file-type 只在部分文件类型(非可执行文件)后追加文件类型标识符
  --format=word 将输出格式化成across(交叉)、commas(逗号)、horizontal(水平)、long(长)、single-column(单列)、verbose(详细)或vertical(垂直)
  --group-directories-first 在文件之前列出所有目录
-G --no-group 长列表输出格式下,不要显示组名(in a long listing, don't print group names)
-h --human-readable 打印大小
  --si 和-h相同,但进制为1000
-i --inode 显示每个文件的索引值(inode)(见#1 )
-L --dereference 对于链接文件,显示原文件信息
-n --numeric-uid-gid 显示数字类型的userid和groupid以替代名字
-o   长列表输出格式下,不要显示组信息(like -l, but do not list group information)
-S --sort=size 按文件大小排序输出
-U --sort=none 不要将输出排序
-v --sort=version 按文本版本排序
-x   按行而非列输出条目
-X --sort=extension 按文件扩展名排序输出

touch命令:创建文件或更新文件修改时间

cp命令:复制文件

 

参数 描述
-a 归档文件,并保留他们现有的属性
-b 创建已存在目标文件的备份,而非覆盖它
-d 保留
-f 强制覆盖已存在的目标文件,不提示
-i 在覆盖目标文件之前提示
-l 创建文件链接而非复制文件
-p 如果可能,保留文件属性
-r 递归复制文件
-R 递归复制目录
-s 创建一个符号链接而非复制文件
-S 覆盖默认的备份文件的后缀(默认为~)
-u 仅在源文件比目标文件新的情况下复制
-v 详细模式,解释到底发生了什么
-x 仅限于当前文件系统的复制
mv命令:    重命名
rm命令:    删除
mkdir命令:创建目录
rmdir命令:删除目录
star命令:  查看文件所有状态
file命令:    显示文件类型
cat命令:    查看文件内容
more/less命令:查看文件文本内容  
more /less命令选项
基本命令
h 显示帮助信息
、z 前进一屏
q 退出程序
高级命令
= 显示当前行号
、s 前进一行
d 前进(向下)半屏
f 前进一屏
b 后退一屏
/pattern 向前搜索指定模式
/ 重复上次搜索
!command 执行指定的shell命令
v 使用当前文件启动vi编辑器
. 重复执行前一个命令
n 在文件中查找下溢出匹配已指定表达式的内容
' 跳到指定表达式匹配到的第一处内容
CTRL+L 重绘当前屏
head命令:         显示文件显示
tail命令:            显示文件末尾部分内容
tail参数
c bytes                显示文件最后的bytes个字节的字符
n lines                 显示文件最后的lines行
f                          让文件有更新就显示出来
pid=PID              和f一起用,跟踪一个文件直到进程ID为PID的进程结束
s sec                  和f一起用,在每次循环出入休眠sec秒
v                         总是显示带文件名的头
q                         不显示带文件名的头

你可能感兴趣的:(Linux命令行与shell脚本编程-part1-基本bash shell命令)