Linux系统开发基础-基础知识点总结
2020-07-21 04:13
1551 查看
这是博主在学习中总结的,不喜勿喷。
希望对你有帮助。
本文都是一些非常基础的知识点,只是博主学习中总结的,不全面且不系统!!!
下面是主要内容:
第一章 Linux操作系统概述
第二章:Linux系统环境搭建
第三章:Linux操作基础
第四章:linux文件系统
第五章:Linux系统用户与软件管理
第六章:Linux系统网络通信和服务管理
第七章:vi/vim编辑器的使用()
第八章:shell程序设计入门
(用代码块来承载内容,方便大家复制)
第1章 Linux操作系统概述 1. 什么是自由软件,什么GPL、GNU? 答: 1).不受限制地自由使用、复制,公开软件原始码供研究、修改和分发的软件。 2).通用公共许可协议:与传统商业软件许可协议CopyRight对立的, 所以又被戏称为CopyLeft,就是被称为“反版权”的概念。GPL保证任何人有共享和修改自由软件的自由。 3).对Unix向上兼容的完整的自由软件系统。它的目标是创建一套完全自由的操作系统。 2. Linux操作系统的内核版本有什么特点? 答: 1).提供了丰富的网络功能 2).可靠的系统安全性 3).良好的可移植性 3. 简述Linux操作系统的组成及特点。 答: 组成: (1) 设备驱动程序层。 (2) Linux内核。 (3) 系统调用接口。 (4) 语言函数库。 (5) Linux Shell。 (6) Linux应用程序。 特点: 1.开放性 2.多用户 3.多任务 4.良好的用户界面 5.设备独立性 6.提供了丰富的网络功能 7.可靠的系统安全性 8.良好的可移植性 9.兼容其他UNIX系统 10.支持多种文件系统 第二章:Linux系统环境搭建 利用VMware虚拟机安装操作系统主要有以下目的和意义: 1.单机构建网络环境 2.软件开发跨越平台移植 3.系统学习 4.进行危险操作 Linux系统的启动引导步骤 (1) 加载BIOS (2) 进入GRUB (3) 加载Linux Kernel (4) 执行init (5) 运行/etc/rc.d/rc.sysinit (6) 执行/etc/inittab (7) 执行默认级别中的所有Script (8) 执行/bin/login程序 VMware下-网络模式: 1.桥接模式(虚拟机访问网络的最简单途径) 像是添加一个新的ip地址给虚拟机使用 2.NAT模式(NAT:网络地址转换) VMware虚拟机中默认的使用模式 虚拟机和主机在共享一个对外的IP地址 3.仅主机模式 完全包含在主机中的专用网络 配置网络: 1:获取子网频段 192.168.230.0 2:获取ip频段 192.168.230.(3-252) 3:获取子网掩码 255.255.255.0 24 4:获取网关: 192.168.230.2 5:获取DNS 114.114.114.114/1.1.1.1/8.8.8.8 设置网卡: 1:自动配置 (系统自行设置网络信息 缺点:不能满足个性化需求) 2:自行配置 将上面的配置网络信息填写到对应的位置即可 测试: 获取当前ip:ip addr 与外网连通性:ping www.badu.com 与宿主主机测试连接(搜索内打cmd):在宿主主机上 ping 192.168.230.17 通过命令行查看网卡信息: root@loongwuhen ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 登录模式: 1:图形界面模式登录 2:字符命令模式登录 1:查询默认的登录模式 systemctl get-default 2:从图形切换字符 multi-user.target 字符命令提示: [root@localhost ~]# root:当前登录的用户 @ localhost:当前主机名 ~:用户的宿主目录 (标记会随着目录变化,现在当前所在目录) # :超级用户 (root) $:普通用户 关闭系统: 注意:linux是多用户 多任务的系统 条件:系统管理员才有关机权限 命令:halt 正常关机 reboot:重启 poweroff:关机并关闭电源 shutdown:维护 (软件维护,硬件维护) -k:警告提醒 -r:重启系统 (reboot) -h:关系系统并关闭电源 -f:跳过检查,快速关机并重启 -t secs:关机延时 时间是:分钟 shutdown +10 -c:取消shutdown命令的执行 now:立即关机 1. Linux系统的自定义分区要求有哪些? 必须有/:根目录分区,/boot:引导分区,SWAP:交换分区 2. 简述Linux系统的启动过程。 Linux系统的启动引导步骤 (1) 加载BIOS (2) 进入GRUB (3) 加载Linux Kernel (4) 执行init (5) 运行/etc/rc.d/rc.sysinit (6) 执行/etc/inittab (7) 执行默认级别中的所有Script (8) 执行/bin/login程序 3. 举例说明Windows和Linux系统共存的磁盘分区命名要求。 C:,D:,E:,F:,/dev/hda7 /dev/hda8/dev/hda9/SWAP 4. 多用户情况下,如何保证其他在线用户的作业,而系统还能正常安全关机。 5. 练习系统的开机、登录、注销及关机的方法,并对该过程进行观察和记录。 6. 练习在Windows下利用VMware进行建立并安装Linux虚拟机系统。 第三章:Linux操作基础 shell 查看shell解释器bash的版本执行的命令为: bash –version shell命令 一般格式 命令名称[-选项][参数] 一些基础操作 cd:跳转 ll:列出当前目录下文件 -a:列出当前目录下所有文件(包括隐藏文件) cat:查看文件 mkdir:创建文件夹 touch:创建新文件 文件夹内创建文件夹 递归创建 mkdir AWQ2/AWQ3/AWQ4/AWQ5 -P 使用vi/vim编辑器创建新文件: vim/vi 2.txt 注意:必须保存文件 cat:新建新文件: cat > new.txt cat合并文件 cat file1 file2 > newfile 编辑文件 1:vi 编辑器 vi [filename] 2: vim 编辑器 vim [filename] 注意:vim可能需要安装 mv:更改文件名 mv [filename] [newname] mv:当前目录名 新目录名 //修改目录名,同样适用与文件操作 mv /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录剪切到 /opt目录下面 mv -r /usr/tmp/tool /opt //递归剪切目录中所有文件和文件夹 rm 文件名:删除当前目录下的文件 -f 文件名:删除当前目录的的文件(不询问) -r 文件夹名:递归删除当前目录下此名的目录 -rf 文件夹名:递归删除当前目录下此名的目录(不询问) -rf *:将当前目录下的所有目录和文件全部删除 -rf /*:将根目录下的所有文件全部删除【慎用!相当于格式化系统】 pwd:显示当前路径 tree:树状结构显示 安装tree:yum install tree -y date:查看日期(显示系统当前的日期和时间) [root@longwuhen ~]# date 2020年 05月 18日 星期一 14:53:48 CST 日期格式化: [root@longwuhen ~]# date +"%Y-%m-%d" 2020-05-18 history:查看所有历史命令 [ !n ]执行某一历史指令(n为历史命令列表中的编号) 显示最近的命令:键盘上下键显示 who:在线用户命令 -H 显示在线用户一些信息 -q 统计登录到系统的用户数量 cat /etc/passwd :查看本地所有的用户 cal:查看日历 [root@longwuhen ~]# cal 五月 2020 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 -1, --one 只显示当前月份(默认) -3, --three 显示上个月、当月和下个月 -s, --sunday 周日作为一周第一天 -m, --monday 周一用为一周第一天 -j, --julian 输出儒略日 -y, --year 输出整年 -V, --version 显示版本信息并退出 -h, --help 显示此帮助并退出 unname:显示系统信息 -a:显示所有信息 -r:显示发行版本号 -m:显示所用机器类型 -i:显示所需要硬件平台 -v:显示操作系统版本 -s:输出内核名称 wc:统记(w:统计字数,c:统计字节数) 命令格式:wc [选项] [文件] [root@longwuhen lianxi]# wc 11.txt 12 11 33 11.txt(输入各数值各代表为:行数、字数、字节数和文件名) su:切换用户命令 1:新建用户:useradd[username] 2:给新建的用户添加密码 passwd[username] cleaer:清屏 hostname:查看主机名 vim /etc/hostname:修改主机名 修改完成后需要重启 reboot shell命令自动补全:tab键补全 cp拷贝文件: cp file1/dir1 dir2 递归拷贝:拷贝文件夹内含有文件 cp -rf dir1 dir2 系统升级 注意:非必须要求 否则不需要升级系统 软件版本升级 yum update (更新到最新版本) 内核版本升级 (不要随意试试) 帮助命令: 命令名称 --help man cal 空格翻页 q退出 info [命令] 空格翻页 q退出 shell相关的配置文件: 1:/etc/profile:系统环境变量 例如:配置jdk环境变量 2:~/.bash_profile:用户环境变量 存在于用户的主目录内 3:~/.bashrc:运行bash读取的配置 配置终端提示符等等 (美化 oh-zsh) 4:~/.bash_history 历史命令记录 shell的重定向: 标准输入输出: 键盘输入 显示器输出 I/O 不是键盘输入,文件/文本/设备等 不是显示器输出,文本/文件/设备 输入重定向 文件/文本/设备 输入 < 输出重定向 将在线人数输出到user.txt文本中 > 若被输入的目标已存在 则覆盖 >> 若被输入的目标已存在 则追加 错误重定向 将提示信息 输出到指定的文件中 日志记录 shell管道操作: “|”前面的命令的输出是管道线“|”后面命令的输入。 语法:命令1 | 命令2 | .... 输出 输入 Linux的桌面环境 1.GNOME 2.KDE 第四章:linux文件系统 文件系统的含义: (1) 指一种特定的文件格式。例如,我们说Linux的文件系统是ext3,MSDOS的文件系统是FAT16, 而Windows XP的文件系统是NTFS或FAT32,就是指这个意思。 (2) 指按特定格式进行了“格式化”的一块存储介质。 当我们说“安装”或“拆卸”一个文件系统时,指的就是这个意思。 (3) 指操作系统中(通常在内核中)用来管理文件系统以及对文件进行操作的机制及其实现。 文件的含义 文件是操作系统用来存储信息的基本结构,是存储在某种介质(软盘、硬盘、光盘等)上的一组信息的集合,通过文件名来标识。 文件的成分 1.索引节点:每个Linux分区中对文件使用的标识符。每个文件有一个inode。 (inode:译成中文就是索引节点,它用来存放档案及目录的基本信息,包含时间、档名、使用者及群组等。) 2.数据 Linux系统文件的命名(同Windows系统区别) 1.同类文件应使用同样的后缀或扩展名。 2.Linux系统区分文件名的大小写。 3.以圆点“.”开头的文件名是隐含文件。 Linux系统的目录结构 Linux文件系统使用单一的根目录结构,所有的分区都挂载到单一的“/”目录上。 Windows操作系统中,使用驱动器。 CentOS 7系统常用目录: /:根目录 Linux文件系统的入口,也是处于最高一级的目录 /bin:这个目录是系统中最重要的可执行文件的存放位置,这些可执行文件大都是Linux系统中最常用的命令。 一般用户和超级用户都会经常使用其中的命令,如:ls、mkdir、mount等 /dev:设备文件存储目录。这个目录中的所有文件都是特殊的文件,Linux系统把所有的外设都看成是文件。 就是说,用户对代表该外设的文件进行操作实际上就是对该外设进行操作。 /etc:这是系统内部存放配置文件的主要位置,一般与系统关系十分密切的配置文件都放在该目录下。 也就是说,对系统的配置主要就是对该目录中的文件进行修改。 一些服务器的配置文件也在这里,比如用户帐号及密码配置文件。 /home:这是系统内部存放配置文件的主要位置,一般与系统关系十分密切的配置文件都放在该目录下。 也就是说,对系统的配置主要就是对该目录中的文件进行修改。 一些服务器的配置文件也在这里,比如用户帐号及密码配置文件。 /lib: 这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的DLL文件。 几乎所有的应用程序都需要用到这些共享库。 lib64:存放与/lib不同格式的二进制函式库,支持64位的函式库 /lost+found:在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。 当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。 有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移动文件到原来的位置上。 /misc:备用目录。 /mnt:这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom 等目录。 可以参看/etc/fstab的定义。有时我们可以让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。 主要看/etc/fstab中怎么定义了;比如光驱可以挂载到/mnt/cdrom /opt:表示的是可选择的意思。用于安装一些给所有用户使用的文件或程序 /proc:这个目录中的文件其实不是存放在磁盘上的,该目录的文件系统叫做proc文件系统,是系统内核的映像。 也就是说,该目录里的文件存放在系统内存中。 可以通过查看这些文件来了解系统的运行情况,同时也可以通过修改这些文件改变某些内核运行参数。 比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器: echo 1 > /proc/sys/net/ipv4/icmp_echo_ ignore_all。 /root:超级权限用户root的缺省主目录,对一般用户来说,是没有该目录的写权限的。 一般用户自己的文件都拷贝到自己的主目录下,以免打乱原来的系统层次结构。 /sbin:与/bin一样,主要是存放可执行文件,只不过这里的可执行文件主要是给超级用户管理系统时使用的,普通用户几乎没有权限执行其中的程序。 /tftpboot:TFTP(普通文件传输协议)服务器缺省文件主目录。 /tmp:临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文。/var/tmp目录和这个目录相似。 /usr:这个目录是Linux系统中占用磁盘空间最大的目录,有许多应用程序安装在这里。 (如windows 的Program Files) /var:存放一些系统记录文件,HTTP和FTP服务器 Linux的文件类型 普通文件(-)(file *) 1.文本文件 2.数据文件 3.可执行的二进制程序 目录文件(d) 每个目录下都有“.”----本身、“..” ----父目录 设备文件 1.字符设备(c) 2.块设备(b) 3.链接文件(l) Linux具有为一个文件起多个名字的功能,称为链接。 对于某文件的各个链接文件,我们可以给它们指定不同的存取权限,以控制对信息的共享和增强安全性。 Linux的文件导航命令 ls:命令(列清单)格式:ls [选项] [目录或文件名] ls –a //显示所有文件,包含隐藏 ls –l //长格式显示文件详细信息 ls –m //逗号分隔的紧凑方式显示 ls –R //递归显示 ls –i //显示索引节点号 cd:命令(改变当前工作目录)格式: cd 目录名 cat:命令 1.查看文件信息 格式:cat [选项] 文件名 -n:为由1开始对所有输出行进行编号显示。 2.建立小型文件格式: cat > 命名的新文件名 …… // 输入信息 <ctrl>+d //存盘并退出 3.合并文件 格式:cat 文件1 文件2 > 新文件名 more:命令(逐屏显示文件内容) 分屏显示文件内容,在正常情况下每个满屏之后终止,并在屏幕底部提示已显示内容占全部内容的百分比。 如果按回车则显示下一行,按空格键则显示下一屏,按“q”键退出。 cp:复制命令 格式:cp [选项] 源文件或目录 目标文件或目录 cp -rf Dir1 Dir2 //r为递归拷贝 cp -f file1 file2 //f为强制,不提示 cp -f file[1-9] dir1 cp ./* Dir1 rm:删除命令 格式:rm [选项] 文件名 Linux的文件检索、排序、查找命令 grep:文件信息检索命令 格式:grep [选项] 字符串 [文件…] sort:排序命令 格式:sort [选项] [文件列表] sort -r file1 //r为反向 sort -r -o outf1 file1 //o为输出 sort -n file1 //n为数值 sort -k 3 file1 //k为关键字 sort -n -k 3 file1 ls -l | sort -n -r -k 5 mkdir:创建目录命令 格式:mkdir [选项] [目录名] -p:递归 在文件夹内再创文件夹 -m:权限分配 rmdir:删除目录命令 格式:rkdir [选项] [目录名] Linux:文件权限 drwxr-xr-x. 3 root root 17 3月 30 11:12 mk3 第一个字母:表示文件的类型 d:文件夹 I:软链接文件 若第一位是-:表示普通文件 744: 第一位: 表示文件的拥有者 可读可写可执行权限 第二位:表示文件拥有者所在的群组 只读权限 第三位:表示其他 只读 7 = 4+2+1 (4:可读 2:可写 1:可执行) 文件权限:修改权限 root具备 文件所有者 以及访问权限 chown[选项][所有者][:组]文件 -c:显示更改部分的信息 -f:忽略错误信息 -h:修复符号链接 -R:指定目录以及其子目录文件 文件访问权限: owner:文件拥有者 gropu:文件拥有者所在的群组 others:其他用户 文件权限的表示方法: 三组九位字母表示法 三组九位二进制表示法 三位八进制表示法 -rw-r--r--. 1 root root 29 3月 30 10:55 2.txt 第一位:文件的类型 第2-4位:文件所有者拥有的权限 第5-7位:文件用者所在组的权限 第8-10位:其他用户的权限 r:可读 w:可写 x:可执行 非第一位上的-:表示不具备权限 文件访问权限的修改: 字母方式: chmod[选项]模式 文件名 u:user 文件或者目录的拥有者 g:group表示文件/目录拥有者所在的群组 o:other:其他用户 a:all 以上所有用户 权限操作符: +:增加权限 u+w:给拥有者增加写的权限 u+r u+x o+x -:取消权限 u-w u-r o-x =:赋予权限,并取消其他 a=w a=x 数字方式: chmod 八进制模式 文件名 (4:可读 2:可写 1:可执行) 示例: chmod 644 f1 chmod 700 f2 硬链接:把一个或者多个文件和计算机使用的节点号链接起来 格式:ln 源文件 创建的目标链接文件 限制: 不能对目录文件做硬链接; 不能在不同的文件系统之间做硬链接。 特点: 创建的硬链接文件和源文件节点号相同。 创建的硬链接文件命名可以和源文件名不同。 源文件删除了,而链接文件仍具有原来特性。 创建的硬链接文件属性和源文件相同。 更改源文件或链接文件属性,则全部更改。 软连接:又称符号链接,是将一个路径名称链接到一个文件,类似于Windows系统中的快捷方式。 格式: ln –s 源文件 创建的目标链接文件 特点: 软链接是一个新文件,它与目标文件有不同的节点号; 软链接可以对目录文件做符号链接,也可以在不同文件系统之间做符号链接; 删除源文件或目录时,不会删除链接,但链接失效; 软链接的大小是其链接文件的路径名中的字节数。 在目录长列表中,符号链接作为一种特殊的文件类型显示出来,其第一个字母是l。 第五章:Linux系统用户与软件管理 用户和组概述 账户:使每个用户的工作都能独立的、不受干扰地进行。 系统依据账户来区分每个用户的文件、进程、任务,给每个用户提供特定的工作环境。 用户和组:Linux的账户包括用户账户和组账户两种。组是用户的集合。组分为私有组和标准组。 Linux下当一个用户属于多个组时,其登录后所属的组称为主组,其他的组称为附加组。 用户和组的配置文件 passwd文件 位置:/etc/passwd 对任何用户均可读。 作用:用于保存各用户的帐户信息。 shadow文件 位置:/etc/shadow 只对root用户可读。 作用:保存各用户帐户的密码等信息。 group文件 位置:/etc/group 作用:保存各用户帐户的分组信息。 gshadow文件 位置:/etc/ gshadow 作用:用于定义用户组口令、组管理员等信息。 账户管理: 用户管理: 1:新建用户 useradd [name] 2: 设置密码 passwd [name] 3: 修改用户账户属性 usermod [参数]name 4:删除用户 userdel [参数] name 组管理: 1:新建组 groupadd 2:删除组 groupdel 3:组改密 gpasswd 软件包管理: 内部服务不能链接外网 rpm包安装: rpm -ivh [包名] rpm包删除: rpm -e [包名] rpm包查询 1:查询已经安装的包 rpm -qa 2:查询指定的包是否安装 rpm -q [包名] 3:查询包的文件 rpm -ql [包名] yum常用命令: 1:查询所有的软件仓库 yum repolist all 2:查看可用的仓库 yum repolist enabled 3: 包查询 yum list [包名] 4:安装 yum install [包名] 5:更新 yum update 6:删除 yum remove [包名] 7:清理缓存 yum clear [包名] ar: .tar:普通文件 .tar.gz:压缩文件 使用tar建立包: tar cvf [文件名] [目录/文件名] c:create 创建 v:执行 f:文件 z:使用gzip压缩文件 注意:若打包参数中含z,扩展名记得添加.gz tar查询包: tar ztf [文件名] z:普通的tar包 t:test tar包 f:文件名 使用tar解压包: tar zxvf [tar文件名] z:不需要参数 文件名.tar 不要z x:释放 v:执行 f:文件名 -C:指定解压目录 src:源码包 1:解压包 tar -zxvf [文件名] -C [目录] 2: 配置编译 ./configure 3:编译 make 4:安装 make install 用户管理: rpm yum tar 第六章:Linux系统网络通信和服务管理 网卡配置: [root@longwuhen ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 注意:修改了网卡配置,需要重启网卡服务:systemctl restart network 主机名: hostname: 修改主机名:vim /etc/hostname 修改后需要重启 配置当前活动的网卡: ifconfig: 查看当前活动网卡信息:ifconfig [netname] ip addr获取网卡名称 重设ip:ifconfig [netname] ip地址 给指定网卡配置多ip 虚拟ip ifconfig [netname] : n ip 启停网卡: ifconfig [netname] up|down 测试网络连通性: ping -c 5 www.baidu.com 发出5次ping测试 结束ping 使用 ctrl+c 结束 进程管理: at:定时作业 含义:指定系统在将来的某个时间执行作业。 1、创建at作业格式为: at sometime command list #作业列表 …… <ctrl>+d #组合键,保存并结束 例子: ① 在第二天该时刻执行: at now +1 day ② 在5月1日凌晨1点执行: at 1:00am May 1 进程控制: 进程查看 ps -ef ps -aux -a:列出所有用户进程 -e:列出包括系统进程在内的所有进程 -l:显示进程的详细列表 -f:显示进程的详细信息 -x:没有与终端关联的进程 -u:显示一些用户信息 free:资源显示 top:监控 p:cpu M:内存 T:进程 pid:进程号 u:切换显示用户的进程 k:结束进程 k pid kill ctrl+c:退出监控 sleep:延迟多少时间再执行 s kill:结束进程 kill pid:安全结束进程 kill -9 pid:强制结束进程 init进程: chkconfig:已经被systemctl取代了 service:已经被systemctl取代了 第七章:vi/vim编辑器的使用 vim编辑器: 下载:yum install vim -y 3种模式 1:命令模式 进入vim编辑器 2:底层命令行模式 3:编辑模式 i 键后进入编辑模式 编辑完成后 esc退出编辑模式 shift+: 进入命令行模式 保存退出 w:写入 q:退出 wq:保存并退出 q!:强制退出 第八章:shell程序设计入门 shell是:命令行解释器 shell脚本的创建及执行: 创建:vim [文件名] 不需要权限 脚本内容: #!/bin/bash echo:输出语句 执行: 1:sh文件名 不需要权限 2:./文件名 在挡墙目录下执行脚本 需要给定执行权限 chmod +x 文件名 (推荐使用) shell的变量 1:系统变量 $HOME $PWD $SHELL $USER... 2:用户自定义变量 基本语法: 1:定义变量:变量=值 注意:=前后没有空格 2:撤销变:unset 变量 3:输出变量值:在变量前加上$ 4:声明静态变量:readonly 注意:unset不可使用 A: 无法反设定: 只读 variable 3:显示当前shell中的所有变量 set 4:定义变量的规则 1:变量名称可以由字母 数字 下划线组成 但不可以以数字开头 2:等号两侧不可以有空格 3:变量名一般大写 将命令的返回值赋值给变量: 1:反引号 运行反引号内的命令 并把结果返回给变量 esc下面的键 `` A=`ls -al` 2: $() 等价于反引号 推荐使用 环境变量: 基本语法 1:export 变量名=变量值 (将shell变量输出为环境变量) 配置jdk环境变量用过 2:source 配置文件名 (不重启的情况下,使修改过的配置文件激活) 3:echo $变量名 (查询环境变量的值) 位置参数变量: 执行含有位置参数输出变量是,需要带上参数 基本语法规则: $n:n为数字 $0:表示自己 $1-9:表示第一个到第九个参数 十以上的参数 需要使用{}包括 ${10} $*:表示命名行中的所有参数,把所有的参数看成一个整体 $@:表示命名行中的所有参数,把所有的参数区分对待 $#:表示命名行中所有参数的个数 预定义变量: shell事先设计号的变量,可以直接在shell脚本中使用 基本语法 1:$$ (获取当前进程号 pid) 2:$! (后台运行的最后一个进程的进程号 pid) &:后台运行 3:$? (描述执行命名的状态 若值为0 表示上一个命名执行成果 若值非0 否则失败 具体返回值看程序结果) 运算符: 基本语法规则 1:"$((运算式))" $[运算式] 推荐使用$[] 2:expr m +n 注意:expr运算符间需要空格 3:expr m -n 定义临时变量 TEMP 4:expr \*,/,% 乘除取余 条件判断: 常用的条件判断: 1:两两比较 =:字符串比较 -lt:小于 -le:小于等于 -eq:等于 -gt:大于 -ne:不等于 -ge:大于等于 2:字符比较: =:判断字符串 3:文件权限判断: -r:当前用户是否可读 -w:当前用户是否可写 -x:当前用户是否可执行 4:文件内容判断: -s:是否为非空文件 !-s:表示空文件 5:文件类型判断 -f:文件存在并且是一个常规文件 -e: 文件存在 -d:文件存在并且是一个目录 6:非空判断 非空输出true $?验证 0:true 1:false 语法格式: if [ 判断 ] then echo fi 流程控制: 语法规则: if [条件判断] then echo "输出1" elif [条件判断] then echo "输出2" fi case: 基本语法: case $变量名 in "值1") 如果变量的值等于值1,则执行程序1 ;; "值2") 如果变量的值等于值2,则执行程序2 ;; *) 所有条件均不满足 .... esac for循环:for i in "$*/$@" 基本语法: 1: for 变量 in 值1 值2... do 程序 done 2: for ((初始值;循环控制条件;变量变化)) do 程序 done while循环: 语法规则: while [条件判断] do 程序 done 逻辑与&& 把两个或以上命令链接在一起 com1 && com2 com1不成功 则com2不执行 逻辑或 || 把两个或以上命令链接在一起 com1 && com2 com1不成功 则com2执行 控制台输入: read [选项] -p:给出提示 -t:规定的时间内 函数: 1:系统函数 basename:返回路径 获取文件名 basename [pathname][suffix] dirname: 返回路径部分 2:自定义函数 funcation 方法名字(){ 程序 } 调用方法名字()
相关文章推荐
- 【Linux基础学习之四】文件系统的基础知识总结(主要目录结构、文件类型、mount、硬连接)
- 系统总结Linux 基础知识之思维导图
- linux系统基础命令和知识总结
- 软考-架构师-知识总结 :七、系统开发基础
- 【Linux基础学习之四】文件系统的基础知识总结(主要目录结构、文件类型、mount、硬连接)...
- Linux系统基础知识(二)
- linux文件系统基础知识
- linux ,Android基础知识总结
- Linux操作系统文件系统基础知识详解
- Linux操作系统文件系统基础知识详解
- 李明老师Linux基础知识与系统管理视频教程下载地址汇总
- Linux 基础总结(一)--Linux常用系统变量,alias,Source,Linux ps1 ps2 ps3 ps4,linux id,umask , trap, stty
- Linux操作系统文件系统基础知识详解
- linux文件系统基础知识
- android linux 基础知识总结
- Linux系统基础开发技术1:构建Linux 库文件
- linux ,Android基础知识总结
- android linux基础知识总结
- android linux 基础知识总结(1)
- [转Iphone]iphone开发阶段总结(一) 基础知识