Linux学习笔记(一)

来源:互联网 发布:ios蜂窝移动数据清理 编辑:程序博客网 时间:2024/06/07 12:43
2015/12/12/dev/hda1(IDE硬盘接口)/dev/sda1(SCSI硬盘接口、SATA硬盘接口)现在基本上都是sda硬盘挂载分配分区必须分区/根分区swap分区(交换分区,内存2倍,不超过2GB)推荐/boot(启动分区,200MB)/root/install.log 存储了安装在系统中的软件包及其版本信息/root/install.log.syslog 存储了安装过程中留下的事件记录/root/anaconda-ks.cfg 以Kickstart配置文件的格式记录安装过程中设置的选项信息网络配置hostOnly   仅和本地电脑连接  Network1用的netOnly   不仅和本地连接也能上网 Network8用的桥接  是用的真实本机网卡ifconfig eth0第一块网卡u所有者 g所有组 o其他人r读 w写  x执行r -4 w -2 x -1rwxrw-r--7  6  4derectory r: ls          w:touch/kmdir/rmdir/rm 创建 和删除  x:cd pwd 进入目录chown 所有者权限chgrp所有组权限为了安全起见  linux新建的文件是没有可执行权限的unmask022缺省权限777-022=755 默认的 find  /etc -iname init-iname 忽略大小写一个数据块512字节  0.5kfind / -size +204800  +n大于 -n小于 n等于find /home -user mxr 所有则查找 -group所属组查找-amin 访问时间 access-cmin 文件属性 change-mmin 文件内容 modify 文件内容被修改了find /etc -cmin -5    5分钟内修改文件属性的文件-a 两个同时满足-0 两个满足任意一个即可-type 文件的类型 f文件 d目录 l软连接文件-exec/-ok 执行名称 {} \; 对搜索结果执行操作-ok会进行询问-inum 根据i节点查找文件搜索 :locate    updatedb更新文件库-i 不区分大小写    搜索临时文件不进行搜索which 快速查找命令的所在目录whereis命令所在的路径搜索命令所在目录及帮组文档路径grep在文件中搜索字符串匹配的行并输出-i 不区分大小写-v 排除指定字符more 或者 less 显示文本grep -v ^# /etc/inittab 以#开头的帮组命令 man manual查看配置信息man services1 命令的帮助    5 配置文件的帮助whatis 名称 简短的帮助信息apropos 名称 配置文件的简短信息名称 --help 列出选项info 和 man 差不多help 获取sheel内置命令的帮组信息unmask 查看缺省权限useradd添加用户passwd更改用户密码who 查看登录的用户信息tty1 表示本地终端pts0表示远程终端数字代表终端号 为了区分终端最后的代表ip地址没有代表本机w得到更为详细的用户信息up联系运行时间2 users当前用户load average:0.00 0.00 0.00 负载代表IDLE 空闲时间PCPU 占用cpu时间WHAT 用户动作 现在JCPU:占用的CPUgzip压缩.gz  只能为文件,不能为目录,不保留原文件gunzip 解压缩tar压缩目录-c表示打包 -v表示显示详细的信息-f指定文件名cc.tar.gz 压缩格式tar -zcf 把文件进行打包和压缩解压把压缩的-c换为-xtar -zxf 解压zip:压缩文件或目录-r可以压缩目录解压缩unzip 解压缩2015/12/16bzip2压缩文件-k产生压缩文件后保留源文件大型文件解压缩tar -cjf aa.tar.bz2 aabunzip2 解压缩tar -xjf aa.tar.bz2 write 给指定用户发信息wall给所有的用户发信息ping测试网络连通性-c 指定次数packet loss 丢包率ifconfig查看网络信息和网卡信息eth0真实网卡lo回环地址mail查看发送电子邮件help查看h返回d删除last列出目录与过去登入系统的用户信息lastlog检测某特定用户上次登录的时间-u 502 uid代表指定用户traceroute显示数据包到主机间的路径netstat显示网络相关信息-t TCP协议-u UDP协议-l 监听-r 路由-n 显示IP地址和端口号-tlun 查看本机监听端口 -an 查看本机所有的网络连接-rn 查看本机路由表setup配置网络DHCP为*表示自动获取服务service network restart重启网络服务mount挂载设备/dev/sr0 固定写法(挂载点) mount  /dev/sr0 /mnt/edrom/ 把光驱挂载到/mnt/edrom目录下umount卸载设备shutdown光机-h 关机时间 now 表示现在-r 重启-c 取消一个关机命令halt 关机以下poweroffinit 0reboot重启一下系统的运行级别0 关机1 单用户2 不完全多用户,不含NFS服务(部分命令行NFS(可以实现文件共享)3 完全多用户 (完全命令行)4 未分配5 图形界面- X116 重启查看系统的运行级别cat /etc/inittab runlevel查询系统运行级别N 5 N代表上一级别logout注销命令Vim没有菜单,只有命令命令模式、插入模式、编辑模式输入i a o I A O A光标所在的行尾插入 I光标所在的行首插入qw保存退出set number 设置行号 set nuset nonu 取消行号gg 到第一行G 到最后一行nG 到第n行n 到第n行$ 移至行尾0 移至行首x删除字符dd删除行yy是复制p是粘贴:r导入命令执行结果:!which ls查找命令的路径:r !date导入时间vehicleIdsmap  ^p I#<ESC>定义快捷键ctrl + v + p 定义ctrl+p的快捷键map ^B 0x把行首的第一个字符删除set number显示行号:1,4s/^/#/g 从第一行到第4行的开头替换为#,/g不用确认ab  用户替换字符软件包分类源码包 开源   效率高  安装慢 容易出错脚本安装包 二进制包 安装快RPM包、系统默认包 RPM包rpm命令管理httpd-2.2.15-15.el6.centos.i686.rpmhttpd 软件包名2.2.15 软件版本15 软件发布的次数el6.centos 适合的LInux的平台i686 适合的硬件平台rpm rpm包扩展名rpm包依赖性树形依赖 a->b->c环形依赖 a->b->c->a模块依赖www.rpmfind.netyum在线管理包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径。包名:操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm中的数据库  rpm -ivh安装 rpm包命令.so.2库依赖-i install 安装 -v verbose 显示详细信息-h  hash 显示进度-- nodeps  不检测依赖性-U 升级-e erase 卸载-q query 查询-a 所有的-i 查询软件信息-p 查询未安装包的信息-l 列表-f 查询系统文件属于哪个软件包-R 查询软件包的依赖性校验-V 已安装的包名 校验是否被修改验证内容8个信息的具体内容如下:S 文件大小是否修改M 文件的类型或文件的权限(rwx)是否被修改5 文件MD5校验是否改变(可以看成文件内容是否改变)D 设备的中,从代码是否改变L 文件路径是否改变U 文件的属主(所有者)是否改变G 文件的属组是否改变T 文件的修改时间是否改变文件类型c 配置文件 config filed 普通文件g “鬼文件” 很少见,就是该文件不应该被这个RPM包包含 ghost filel 授权文件 license filer 描述文件 read me提取rpm2cpio 包全名 | \ cpio -idv. 文件绝对路径| 管道符 连接多个命令\ 换行符将rpm包转换为cpio格式的命令  cpio是一个标准工具,它用于创建软件档案和从档案文件中提取文件-i copy-in 模式,还原-d 还原时自动新建目录-v 显示还原过程df挂载大小rpm yum 在线管理启用ipvi etc/myconfig/sysconfig/network-scripts/ifcfg-eth0把ONBOOT改为yes然后重启服务service network restart/etc/yum.repos.d/CentOs-Base.repo 网络yum源[base]  容器名称,一定要放到[]中name 容器说明,可以自己随便写mirrorlist 镜像站点,这个可以注释掉baseurl 我们的yum源服务器的地址,默认是CentOs官方的yum源服务器,是可以使用的,如果你觉得慢可以改变你喜欢的yum源地址enabled此容器是否生效,如果不写或写出enable=1都是生效,写成enable=0就是不生效gpgcheck如果是1是指RPM的数字证书生效,如果是0不生效gpgkey数字证书的公阴文化保存位置,不用修改yum list查询所有可用软件包列表yum search 搜索服务器上所有和关键字相关的包yum -y install 包名install安装-y自动回答yesyum -y update 包名update 升级yum -y remove 包名remove 卸载yum grouplist列出所用可用软件组列表yum groupinstall  软件组名安装指定软件组,组名可以由grouplist查询出来yum groupremove 软件组名卸载指定软件组mv 命令  让其他的网络yum失效  使用光盘安装Media源码包与RPM包安装位置不同,RPM默认的位置是启动文件/etc/rc.d/init.d/httpd start 启动的额绝对路径service httpd start        下载源码包http://mirror.bit.edu.cn/apache/httpd/源码包保存位置:/usr/local/src/软件安装位置/usr/local./configure 编译器准备,没有指定安装目录,安装到默认位置中make编译make install编译安装du -sh 文件名显示文件的大小脚本安装是人把安装过程写成了自动安装的脚本吗,只要执行脚本,定义简单的参数,就可以完成安装。Webmin是一个基于Web的Linux系统管理界面,您就可以通过通过图形化的方式设置,用户账号,Apache、DNS、文件共享服务。http://sourceforge.net/projects/webadmin/files/webmin/ctrl + backSpace 可以回退在Linux中主要通过用户配置文件来查看和修改用户信息。man 5 passwd 查看配置文件帮组/etc/passwd第1个字段:用户名称第2个字段:密码标志 x 表示有密码第3个字段:UID(用户ID)标识0 超级用户1-499 系统用户(伪用户)500-65535 普通用户第4个字段:GID(用户初始组ID)(还有附加组)第5个字段:用户说明第6个字段:家目录普通用户:/home/用户名/超级用户:/root/第7个字段:登陆后的Shell/etc/shadow影子文件第1个字段:用户名第2个字段:加密密码加密算法升级为SHA512散列加密算法。如果密码伪是"!!"或"*"代表没有密码,不能登陆第3个字段:密码最后一次修改日期使用1970年1月1日作为标准,每过一天时间戳加1第4个字段:两次密码的修改间隔时间(和第3字段相比)第5个字段:密码有效期(和第3个字段相比)第6个字段:密码修改到期前的警告天数(和第5个字段相比)第7个字段:密码过期后的宽限天数(和第5字段相比)0 代表密码过期后立即失效-1 代表密码永远不会失效第8个字段:账号失效时间要用到时间戳表示第9个字段:保留date -d "1970-01-01 16066 days" 把时间戳换算为日期格式/etc/group组信息文件第1个字段:组名第2个字段:组密码标志第3个字段:GID第4个字段:组中附加用户/etc/gshadow组密码文件第1个字段:组名第2个字段:组密码第3个字段:组管理员用户名第4个字段:组中附加用户用户的家目录普通目录:/home/用户名,所有者和所属组都是此用户,权限700超级用户:/root/,所有者和所属组都是root用户,权限550用户的邮箱/var/spool/mail/用户名/用户模板目录/etc/skel 每次添加一个用户都会系统自动给用户目录下创建文件,这些模板就在skel下useradd -u UID  :手工指定用户的UID号-d 家目录:指定用户的家目录-c 用户说明: 手工指定用户的说明-g 组名: 手工指定用户的初始组-G 组名: 指定用户的附加组-s shell 手工指定用户的登陆shell,默认是/bin/bash用户默认值文件/etc/default/useraddGROUP=100 默认组(私有的)HOME=/home  家目录INACTIVE=-1 密码过期宽限天数(shadow文件第7个字段)EXPIRE=     密码失效时间(第8个字段)SHELL=/bin/bash 默认shellSKEL=/etc/skel 模板目录CREATE_MAIL_SPOOL=yes 是否建立邮箱/etc/login.defsPASS_MAX_DAYS   99999 密码有效期(第5个字段)PASS_MIN_DAYS   0     密码修改间隔(4)PASS_MIN_LEN    5     密码最小为5(PAM)PASS_WARN_AGE   7     密码到期警告(6)UID_MIN         500   最小UIDUID_MAX         60000 最大UIDENCRYPT_METHOD  SHA512 加密模式passwd-S  查询用户密码的密码状态,仅root用户可用-l  暂时锁定用户,仅root可用-u   解锁用户,仅root用户可用-stdin 可以通过管道符输出的数据作为用户的密码。主要是写shell编程时使用| 管道符第一个字符的输出,作为第二个字符的输入echo "123" | passwd --stdin  usermod修改用户信息和useradd通用chage-l 列出用户详细密码状态修改用户密码状态修改的shadow文件-d 0 lamp这个命令其实是把密码修改日期归为0了,(第3个字段)这样用户一登陆就要修改密码userdel-r 删除用户同时删除用户家目录id查看用户IDsu用户切换-:选项只使用“-”代表连带用户的环境变量一起切换-c:仅执行一次命令,而不切换用户身份  su - root -c "useradd test1"whoami当前登录是谁env当前用户的环境变量groupadd-g GID 指定组IDgroupmod-g GID 指定组ID-n 新组名 groupdel 组名有初始用户不能删除附加用户可以删除gpasswd 选项 组名  添加用户的附加组-a 用户名 把用户加入组-d 用户名 把用户从组中删除ACL权限解决身份不确定。dumpe2fs - h /dev/sda3 查询指定分区详细文件系统信息的命令:-h 显示超级块中信息,而不显示磁盘块组的详细信息mount -o remount.acl/临时生效“重新挂载根分区,并挂载加入acl权限vi /etc/fstab加入aclmount -o remount/重新挂载文件系统或重启动系统,使修改生效getfacl 文件名查看acl权限setfacl 选项 文件名-m 设定 ACL权限-x 删除指定的ACL权限-b 删除所有的ACL权限-d 设定默认ACL权限-k`删除默认ACL权限-R 递归设定ACL权限setfacl -m u:st:rx /project    u 代表用户 st 用户名 rx 代表权限  prpject 代表任意一个文件目录-m g:group1:rw /project    g 代表组 group1 组名ll -ddrwxrwx---+ 2 root lean 4096 1月  25 13:47 /project + 拥有acl权限最大有效权限mask与acl进行与运算setfacl -m m:rx /project设定mask权限为r-x,使用"m:权限"格式递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限-m u:用户名:权限 -R /project默认ACL权限的作用是如果给父目录设定了默认ACL权限,那么父目录中所有新建的子文件都会继承父目录的ACL权限。setfacl -m d:u:用户名:权限 文件名文件特殊权限SetUID二进制文件所有者命令执行者在执行该程序时获得该程序文件属主的身份,只有该程序执行过程中有效。-rwsr-xr-x. 1 root root 30768 2月  22 2012 /usr/bin/passwd必须拥有x(执行)权限cat命令没有SetUID权限chmod 47554代表SUID2代表GID1代表Sticky BIT7 代表都有chmod u+s 文件名 危险SetGID命令在执行程序的时候,组身份升级为该程序文件的属组。用户组可执行的和目录ll /usr/bin/locate生命期:命令结束chmod u+g 文件名Sticky BIT粘着位,普通用户只能针对目录分配其他人drwxrwxrwt. 3 root root 4096 1月  29 10:20 /tmpchmod u+t 文件名 1755chatrr权限对root也生效文件系统属性+ 增加权限- 删除权限= 等于某权限、i   如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;   如果对目录设置i属性,那么只能修改目录下文件的数据,单不允许建立和删除文件a   只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,   那么只允许在目录中建立和修改文件,但是不允许删除。lsattr 文件名-a 显示所有文件和目录-d 目标是目录,仅列出目录本身的属性,而不是子文件。sudo 把本来只能超级用户执行的命令赋予普通用户执行。系统命令权限。操作对象时系统命令。visudo实际修改的是/etc/sudoers文件root    ALL=(ALL)       ALL用户名  被管理主机的地址 = (可使用的身份) 授权命令(绝对路径)#%wheel ALL=(ALL)       ALL#%组名  被管理主机的地址 = (可使用的身份) 授权命令(绝对路径)sudo -l查看可用的sudo命令sudo /sbin/shutdown -r now普通用户执行sudo赋予的命令文件系统主分区:总共最多只能分4个扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个,但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区。sda5开始的;(1-4只能为主分区和扩展分区)ext2:是ext文件的额升级版本ext3文件系统是ext2文件系统的升级版本,最大的区别就是带日志功能。ext4是CentOS6.3默认文件系统,1EB=1024PB=1024*1024TBdf查看文件系统-a显示所有的文件系统信息,包括特殊文件系统,如/proc、/sysfs-h使用习惯单位显示容量,如KB,MB或GB-T显示文件系统类型-m以MB单位显示容量-k以KB为单位显示容量,默认是KB为单位du统计目录-a显示每个字文件磁盘占用率。默认只统计子目录的磁盘占用率。-h使用习惯单位显示容量,如KB,MB或GB-s统计总占用量,而不列出子目录和子文件的占用量fsck文件系统修复命令-a不用显示用户提示,自动修复文件系统-y自动修复,和-a作用一致,不过有些文件系统只支持-ydumpe2fs显示磁盘状态mount 挂载-l查询系统中已经挂载的设备,-l会显示卷标名称-a依据配置文件/etc/fstab的内容,自动挂载mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点-t 文件系统:加入文件系统类型来指定挂载的类型,可以是ext3,ext4,iso9660等文件系统。-L 卷标名:挂载指定卷标的分区,而不是安装设备文件名挂载。-o 特殊选项:可以指定挂载的额外选项。remount重新挂exec/noexec执行/不执行挂载光盘mkdir /mnt/cdrom/  建立挂载点mount -t iso9660 /dev/cdrom(默认这样写 软连接)  /mnt/cdrom挂载光盘 把光盘放入光驱mount /dev/sr0(默认这样写) /mnt/cdromumount 设备文件名或挂载点卸载光盘fdisk -l不支持远程挂载查看U盘设备文件名mount -t vfat /dev/sdb1 /mnt/usb/注意:linux默认是不支持NTFS文件系统的文件NTFS文件系统1 内核编译2 第3方软件   下载NTFS-3G插件http://www.tuxera.com/community/ntfs-3g-download/mount -t ntfs-3g 分区设备文件名 挂载点fdisk分区fdisk -l 查看识别的硬盘fdisk /dev/sdb   使用fdisk命令分区d 删除分区m 帮助菜单n 新建分区w 保存退出q 退出p 显示分区列表partprobe   重新读取分区表信息扩展分区不能写入数据和格式化mkfs -t ext4 /dev/sdb1格式化分区  把sdb1格式化为ext4文件类型建立挂载点并挂载mkdir /disk1mount /dev/sdb1 /disk1缺点重启挂载信息消失自动挂载修改vim /etc/fstabsysfs        proc      内存挂载点            tmpfs     devpts    临时挂载点第一个字段:分区设备文件名或UUID第二个字段:挂载点第三个字段:文件系统名称第四个字段:挂载参数第五个字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份 lost+found备份目录第六个字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,那么当让1的优先级比2高/etc/fstab文件修复mount -o remount,rw/不是万能的命令分配swap分区free查看内存与swap分区的使用情况cached(缓存):把读取出来的数据保存在内存当中,当再次读取时,不用读取硬盘而直接从内存当中读取,加速了数据的读取过程。buffer(缓冲) 是指在写入数据时,先把分散的写入操作保存到内存中,当达到一定程度在集中写入硬盘,减少了磁盘碎片和硬盘的反复寻道,加速了数据的写入过程。n 新建分区更改分区号t键  改分区号为82partprobe   重新读取分区表信息mkswap/dev/sdb6  格式化swapswapon /dev/sdb6加入swap分区swapoff /dev/sdb6取消swap分区2016/2/17Shell 命令行解释器强大的编程语言解释执行的脚本语言可直接调用linux系统命令两种语法类型Bourne和C两种语法彼此不兼容Shell脚本执行方式echo 输出命令-e 支持反斜线控制的字符转换     echo -e "acd\bc" \b 退格删除\e[1;    \e[0m支持颜色输出  #!/bin/Bash赋予执行权限,直接运行chmod 755 hello.sh./hello.sh通过Bash调用执行脚本bash hello.shdos2unix从dos格式转换为unix格式history-c 清空历史命令-w 把缓存中的历史命令写入历史命令保存文件~/.bash_history历史命令默认保存1000条,可以在环境变量配置文件/etc/profile 中进行修改!n重复执行第几行命令!字符串重复执行最后一条命令alias 别名=‘原命令’alias查询命令别名让别名永久生效vi /root/.bashrcunalias 别名删除别名ctrl + u 删除光标前的命令ctrl + y 粘贴ctrl + r 命令的搜索ctrl + d 退出当前终端ctrl + c 终止当前终端标准输入输出设备    设备文件名    文件描述符   类型键盘    /dev/stdin       0           标准输入显示器   /dev/sdtout     1            标准输出显示器    /dev/sdterr    2            标准错误输出输出重定向类型                    符号                         作用   标准输出重定向              命令 > 文件       以覆盖的方式,把命令的正确输出到指定的文件或设备当中。               命令 >> 文件      以追加的方式,把命令的正确输出到指定的文件或设备当中   标准错误输出重定向          错误命令 2>文件    以覆盖的方式,把命令的错误输出到指定的文件或设备当中。       错误命令 2>> 文件     以追加的方式,把命令的错误输出到指定的文件或设备当中   正确输出和错误输出同时保存     命令 > 文件 2>&1  以覆盖的方式,把命令的正确和错误保存到同一个文件当中。                               命令 >> 文件 2>&1  以追加的方式,把命令的正确和错误保存到同一个文件当中。       命令 &> 文件  以覆盖的方式,把命令的正确和错误保存到同一个文件当中。                               命令 &>> 文件   以追加的方式,把命令的正确和错误保存到同一个文件当中。                       命令>>文件1 2>>文件2  把正确的输出追加到文件1中,把错误的输出追加到文件2中。输入重定向wc-c 统计字节数-w 统计单词数-l 统计行数wc < anaconda-ks.cfg   输出 行数   单词    字符数wc << hello碰到hello结束多命令顺序执行;多个命令顺序执行,命令之间没有任何逻辑联系。&& 与|| 或实现硬盘的复制:dd if=输入文件 of=输出文件 bs=字节数 count=个数管道符命令1 | 命令2命令1的正确输出作为命令2的操作对象连接人数netstat -an | grep "ESTABLISHED"grep-i 忽略大小写-n 输出行号-v 反向查找--color=auto 搜索出的关键字用颜色显示grep "root" /etc/passwd? 匹配一个任意字符* 匹配0个或任意多个任意字符[] 匹配中括号中任意一个字符  [abc][-] 匹配中括号中任意一个字符 -代表一个范围 [a-z]匹配一个小写字母[^] 匹配不是中括号内的一个字符,[^0-9]代表匹配一个不是数字的字符''单引号  在单引号中所有的特殊字符,如$和·都是没有特殊含义。"" 双引号,在双引号中特殊符号没有特殊含义,但是$和· \是例外,拥有“调用变量值”“引用命令” 和“转义符” 的特殊含义。``反引号 系统命令        $()  和反引号作用一样,例如$(date)# 在Sheel脚本中,代表注释$ 用于调用变量的值,如需调用变量name的值时,需要$name的方式得到变量的值。\ 转义符,跟在\后的特殊符号将失去特殊含义,变为普通字符,如\$ 将输出$,而不当做是变量引用。变量:计算机内存的单元,其中存放的值可以改变,必须由字母、数字和下划线开头变量的默认类型都是字符串型,如果要进行数值运算。则必须指定变量类型为数值型。变量的值如果有空格,需要使用单引号或双引号在变量的值中,可以使用"\"转义符如果需要增加变量的值,那么可以进行变量值的叠加,不过变量需要用双引号包含“$变量名‘或用${变量名}包括用户自定义变量echo "$name"123      变量的叠加赋值查看变量  所有的变量set删除unset name环境变量会在当前Shell和这个Shell的所有子Shell当中生效,如果把环境变量写入响应的配置文件,那么这个环境变量就会在所有的Shell中生效。export 变量名=变量值#申明变量env   #查询变量unset 变量名#删除变量PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binPATH="$PATH":/root/sh  定义系统环境变量PS1='[\u@\h \W]\$ '   定义系统提示符的变量pstree  查询进程树PATH 系统查找命令的路径位置参数变量$n n为数字,$0代表命令本身$* 命令中所有的参数, 整体$@ 命令行中所有的参数 单个$# 命令行中所有参数的个数预定义变量$?       最后一次执行命令的返回状态,如果这个变量的值为0,证明上一个命令正确执行,    如果这个变量的值为非0,(具体是哪个数,由命令自己来决定),则证明上一个命令    不正确了。$$ 当前进程的进程号(PID)$!  后台运行的最后一个进程的进程号(PID)接收键盘输入read-p "提示信息":在等待read输入时,输出提示信息,read命令会一直等待用户输入,使用此选项可以指定等待的时间。-n   字符数:read命令只接受指定的字符数,就会执行。-s隐藏输入的数据,适用于机密信息的输入,-t时间数值运算与运算符方法1:declare 声明变量类型- 给变量设定类型属性+  取消变量的类型属性-i  将变量声明为整数型(integer)-x 将变量声明为环境变量-p 显示指定变量的被声明的类型方法2:expr或let数值运算工具方法3:¥(())或 $[]变量测试与内容替换


0 0
原创粉丝点击