linux基础知识--linux的shell及常用命令
Linux常用命令 Linux常用命令 1
文件目录操作命令 ls touch cp mv rm cd ln cat more less head tail pwd mkdir rmdir find grep tar gzip compress sort paste wc
命令规则、路径和文件
命令规则
命令动词 [参数] [操作对象] 参数] [操作对象 操作对象]
路径
绝对路径 相对路径Fra bibliotek文件命名规则
文件通配符
*
匹配多个字符
?
匹配单个字符
[abc]
匹配abc中任意一个字符 匹配abc中任意一个字符
[!abc]
匹配abc之外的任意一个字符 匹配abc之外的任意一个字符
登录、注销、关机
shell 的特点
结构化的程序模块,提供了顺序流程控制、条件控 制、循环控制等。 shell 提供了在后台(&)执行命令的能力。 提供了在后台(& shell 提供了可配置的环境,允许用户创建和修改 命令、命令提示符和其他的系统行为。 shell 提供了一个高级的命令语言,允许用户能创 建从简单到复杂的程序。这些 shell 程序称为 shell 脚本。利用 shell 脚本,可把用户编写的可执行程 序与 UNIX 命令结合在一起,作为新的命令使用, 从而便于用户开发新的命令。
用法:pwd 用法:pwd 作用:显示当前工作目录 作用:显示当前工作目录 范例:配合cd 范例:配合cd
创建和删除目录
mkdir
用法: mkdir 目录名 作用:创建目录新的目录 范例:mkdir 范例:mkdir abc
rmdir
用法: rmdir目录名 rmdir目录名 作用:删除空目录 范例:rmdir 范例:rmdir abc
ls
-d:将目录象文件一样显示,而不是显示其下的文件 -t:按修改时间先后显示 -R:显示目录及下级子目录结构 -m: 横向输出文件名,并以“,”作分格符。 -S: 以文件大小排序。
范例: 范例:
ls –a ls –alR ls -F
用颜色代表不同文件
蓝色:目录 绿色:可执行文件 红色:压缩文件 浅蓝色:链接文件 灰色:其他文件
cp – copy file
用法:cp 用法:cp –afpx source target
-a:尽可能保持文件的结构和属性 -p:保持原始文件日期 -f :如果目标文件已经存在,则覆盖它 -i :提示是否覆盖现有的普通目标文件 -R:包含子目录
范例:
cp cp cp cp ls.txt mydir1 -a mydir1 mydir2 /etc/syslog.conf ./ -a /etc/sound/ /home/so/ /home/so/
bash 是自由软件基金会(GNU)开发的一个 是自由软件基金会(GNU)开发的一个 shell,它是 shell,它是 Linux 系统中一个默认的 shell 。 bash 不但与 Bourne shell 兼容,还继承了 C shell、 shell、Korn shell 等下述优点。
1. 命令行历史:使用命令行历史特性,可以恢复以 前输入的命令。 2. 命令行编辑:可以利用编辑器(如 vi)修改已经 vi)修改已经 键入的命令。 3. 命令补全:能在输入文件名的一部分之后,由系 统自动填入剩余的部分。 4. 别名扩展:能建立代表某些命令的名字。
shell 程序可以存放在文件中,这种被 shell 解释执行的命令文件称为 shell 脚本(shell 脚本(shell script)。shell script)。shell 脚本可以包含任意从键盘输 入的 Linux 命令。 建立 shell 脚本的步骤与建立普通文本文件 的方式相同,利用编辑器(如 vi)进行程序 vi)进行程序 录入和编辑加工。
Linux shell及常用命令 shell及常用命令
培训老师: 培训老师:周杰英
主要内容
shell 的主要特点、类型、建立和执行的方式 bash 中历史命令的作用以及应用 别名的定义及使用 bash 变量的分类、定义形式以及引用规则 bash 中特殊字符的形式、作用以及使用规则 条件测试的格式及应用 各种控制语句的格式、功能以及流程 bash 中算术运算的使用 bash 函数的构成及使用规则
注意: Root用户在删除文件时要特别小心 Root用户在删除文件时要特别小心 权限问题
cd – change directory
用法:cd [目录] 用法:cd [目录] 作用:切换路径 作用:切换路径 范例: cd .. cd . cd ~ cd / cd ../usr
pwd – print work directory
shell 程序实例
使用 shell 的最简单的方法是从键盘上直接输入 命令行。 shell 命令解释程序对输入的命令进行分析并创 建子进程,完成该命令所对应的功能。 shell 程序也可存放在文件中,通常称为 shell 脚本(script)。 脚本(script)。
shell 程序实例
shell 脚本的建立
ls
用法: 用法:ls 参数:
-a:显示所有文件,包括隐藏文件(以.开头的 :显示所有文件,包括隐藏文件( 文件) 文件) -l:以长格式显示 -F:在每个文件名后附上一个字符以说明该文 件的类型,“ 件的类型,“*”表示可执行的普通文件; “/”表示目录;“@”表示符号链接; 表示目录;“ “|”表示FIFOs;“=”表示套接字(sockets)。 表示FIFOs; 表示套接字(sockets)。
Shell的重要功能 Shell的重要功能
命令行解释
交互模式( 交互模式(interactive) 后台运行( 后台运行(run commands in the background)
命令的多种执行顺序 `) 命令替换 (` `) I/O重定向(Input/output redirection) I/O重定向 重定向( 管道( 管道(pipes) | 通配符(wild通配符(wild-card characters) 系统环境维护 Shell Script
C shell
加州伯克利大学的 Bill Joy 为 BSD UNIX 开 发的,与 sh 不同,它的语法与 C 语言很相 似。它提供了 Bourne shell 所不能处理的用 户交互特征,如命令补全、命令别名、历史 命令替换等。但是,C 命令替换等。但是,C shell 与 Bourne shell 并不兼容。
Korn shell
AT&T Bell 实验室的 David Korn 开发的,它 集合了 C shell 和 Bourne shell 的优点,并 且与 Bourne shell 向下完全兼容。Korn 向下完全兼容。Korn shell 的效率很高,其命令交互界面和编程交 互界面都很好。
Bourne Again shell
shell 的种类
Linux 系统提供了多种不同的 shell。常用的 shell。常用的 有:
Bourne shell(简称 sh) shell(简称 sh) C-shell(简称csh) shell(简称csh) Korn shell(简称 ksh) shell(简称 ksh) Bourne Again shell(简称 bash) shell(简称 bash)
执行 shell 脚本的方式
执行脚本的方式有三种:
1. 输入定向到 shell 脚本。这种方式是用输入重 定向方式让 shell 从给定文件中读入命令行, 并进行相应处理。其一般形式为: $bash<脚本名 $bash<脚本名 此时,脚本名后面不能带参数。 2. 以脚本名作为参数。其一般形式为: $bash 脚本名 [参数] 参数] 3. 将 shell 脚本的权限设置为可执行,然后在提 示符下直接执行它。
shell 概述
shell 是 UNIX/Linux 系统中一个重要的层次,它是 用户与系统交互作用的界面。 shell 除了作为命令解释程序以外,还是一种高级 程序设计(脚本) 程序设计(脚本)语言,它有变量、关键字,有各种 控制语句,支持函数模块,有自己的语法结构。利 用 shell 程序设计语言可以编写出功能很强但代码 简单的程序。 shell 的概念最初是在 UNIX 操作系统中形成和得 到广泛应用的。UNIX 到广泛应用的。UNIX 的 shell 有很多种类,Linux 有很多种类,Linux 系统集成了 UNIX 系统中 shell 的全部功能,现在 默认使用的是bash。 默认使用的是bash。
touch
作用: 生成一个空文件或修改文件的时间 范例:
touch * :将当前目录下所有文件时间修改为 当前系统时间 touch –d 20010602 test:将文件test的时间 test:将文件test的时间 修改为20010602 修改为20010602 touch test2:如果abc存在,则修改为当前系 test2:如果abc存在,则修改为当前系 统时间,如果不存在,则生成一个为当前时间 的空文件
Linux 系统还包括其他一些流行的 shell,如 shell,如 ash、 ash、zsh 等。每种 shell 都有其特点和用途。
Bourne shell
AT&T Bell 实验室的 Steven Bourne 为 AT&T 的 UNIX 开发的,它是 UNIX 的默认 shell,也是其他 shell,也是其他 shell 的开发基础。Bourne 的开发基础。Bourne shell 在编程方面相当优秀,但在处理与用户 的交互方面不如其他几种 shell。 shell。
linux操作系统任务十shell 编程基础
不被引号包围的字符串中出现变量时也会被解析,这一点和双引号" 不被引号包围的字符串 "包围的字符串一样。字符串中不能出现空格,否则空格后边的字符
串会作为其他变量或者命令解析。
管道操作
Shell数组中可以存放多个值。Bash Shell 只支持一维数组,初始化时不 需要定义数组大小。在 Shell 中用括号( )来表示数组,数组元素之间用空 格来分隔。定义数组的一般形式如下: Array_name=(ele1 ele2 ele3... eleN)
创建shell脚本
可以在Shell脚本中创建用户自定义变量,用户变量可以存储临时数据 并在整个脚本中使用,类似于程序语言中的变量。变量命名规则如下 :
1.任意字母数字或下划线,长度不超过20个,不能以数字开头; 2.用户变量区分大小写; 3.使用=赋值,变量、=、值之间不能有空格;
创建shell脚本
引用变量的时候一定要在前面加 $,对变量赋值的时候,被赋值的变量不需要 加 $。 有时候用户需存储某个命令的输出信息,可以把命令的输出赋值给变量,赋值 规则有两种: 1.`命令` ,`是反引号,不是引号。 2.$(命令)
例: LS=`ls` echo $LS echo "===================================" LSL=$(ls -l) echo $LSL
$a -ne $b
检测左边的数是否大于右边的,如果是返回 true。 $a -gt $b
检测左边的数是否小于右边的,如果是返回 true。 $a -lt $b
检测左边的数是否大于等于右边的,如果是返回 true。
检测左边的数是否小于等于右边的,如果是返回 true。
$a -ge $b [ $a -le $b ]
Shell命令大全
Shell命令⼤全⼀、Linux下常⽤命令:⽂件与⽬录操作basename:从⽂件名中去掉路径和扩展名cd:切换当前⼯作⽬录到指定⽬录chgrp:改变⽂件所属组chmod:改变⽂件的权限chown:改变⽂件的所有者和组cp:复制⽂件或⽬录dd:复制⽂件并转换⽂件内容file:确定⽂件类型find:在指定⽬录下查找⽂件并执⾏指定的操作ln:创建⽂件链接locate/slocate:快速定位⽂件的路径ls/dir/vdir:显⽰⽬录内容mkdir:创建⽬录mv:移动或重命名⽂件pwd:显⽰当前⼯作⽬录rename:重命名⽂件rm:删除⽂件或⽬录rmdir:删除空⽬录touch:修改⽂件的时间属性updatedb:创建或更新slocate数据库whereis:显⽰指令程序、源代码和man⼿册页which:显⽰指令的绝对路径⼆、Linux下常⽤命令:备份与压缩ar:创建、修改归档⽂件和从归档⽂件中提取⽂件arj:.arj⽂件压缩指令bunzip2:压缩bzip2格式的压缩⽂件bzcat:解压缩⽂件到标准输出bzip2:创建.bz2格式的压缩⽂件bzip2recover:修复损坏的.bz2⽂件bzless/bzmore:解压缩.bz2⽂件并分屏显⽰内容compress:压缩数据⽂件cpio:存取归档包中的⽂件dump:⽂件系统备份gunzip:解压缩由gzip压缩的⽂件gzexe:压缩可执⾏程序gzip:GNU的压缩和解压缩⼯具lha:压缩和解压缩指令resotre:还原由dump备份的⽂件或⽂件系统tar:创建备份档案⽂件unarj:解压缩.arj⽂件uncompress:解压缩.Z⽂件unzip:解压缩.zip⽂件zcat:解压缩⽂件并送到标准输出zforce:强制gzip格式的⽂件加上.gz扩展名zip:压缩⽂件zipinfo:显⽰zip压缩⽂件的详细信息znew:将“.Z”⽂件转换成“.gz”⽂件三、Linux下常⽤命令:⽂本处理cat:链接⽂件并显⽰到标准输出cksum:检查和计算⽂件循环冗余校验码cmp:⽐较两个⽂件的差异col:过滤控制字符colrm:从输⼊中过滤掉指定的列comm:⽐较两个有序⽂件的不同csplit:分割⽂件cut:显⽰⽂件中每⾏的指定内容diff3:⽐较3个⽂件的不同diff:⽐较并显⽰两个⽂件的不同diffstat:根据diff指令的结果显⽰统计信息ed:⾏⽂本编辑器emacs:全屏⽂本编辑器ex:⽂本编辑器expand:将Tab转换为空⽩(Space)fmt:最优化⽂本格式fold:设置⽂件显⽰的⾏宽grep/egrep/fgrep:显⽰⽂件中匹配的⾏head:输出⽂件开头部分内容ispell:交互式拼写检查程序jed:⽂本编辑器joe:编辑⽂本⽂件join:合并两个⽂件的相同字段less:分屏查看⽂本⽂件look:显⽰⽂件中以特定字符串开头的⾏more:分屏查看⽂本⽂件od:以数字编码输出⽂件内容paste:合并⽂件的内容pico:⽂本编辑器sed:流⽂件编辑器sort:排序数据⽂件spell:拼写检查split:分割⽂件sum:计算并显⽰⽂件的校验码tac:反序显⽰⽂件内容tail:输出⽂件尾部部分内容tee:将输⼊内容复制到标准输出和指定⽂件tr:转换或删除⽂件中的字符unexpand:将空⽩(Space)转换为Tabuniq:删除⽂件中的重复⾏vi:全屏⽂本编辑器wc:计算⽂件的字节数、单词数和⾏数四、Linux下常⽤命令:shell指令alias:定义命令别名bg:将作业(或任务)放到后台运⾏bind:显⽰或设置键盘配置declare:声明shell变量dirs:显⽰shell⽬录堆栈中的记录echo:打印字符串到标准输出enable:激活与关闭shell内部命令eval:执⾏指定指令并返回结果exec:执⾏给定指令后退出登录exit:退出当前shellexport:设置与显⽰环境变量fc:编辑并执⾏历史命令fg:将后台任务(或作业)切换到前台运⾏hash:显⽰与清除指令时运⾏查询的哈希表history:显⽰与操纵历史命令jobs:显⽰shell的作业信息kill:杀死进程或作业logout:退出登录shellpopd:从shell⽬录堆栈中删除记录pushd:向shell⽬录堆栈中添加记录set:设置shell的执⾏⽅式shopt:设置控制shell⾏为变量的开关值ulimit:设置shell的资源限制umask:设置创建⽂件的权限掩码unalias:取消由alias定义的命令别名unset:删除定义的变量或函数五、Linux下常⽤命令:打印相关指令accept:接受打印请求cancel:取消打印任务disable:停⽌打印机enable:启动打印机lp:打印⽂件lpadmin:配置cups打印机和类lpc:控制打印机lpq:显⽰当前打印队列lpr:打印⽂件lprm:删除当前打印队列中的作业lpstat:显⽰CUPS的状态信息pr:打印前转换⽂本格式reject:拒绝打印请求六、Linux下常⽤命令:其他基础指令bc:实现精确计算的计算器cal:显⽰⽇历clear:清屏指令consoletype:显⽰当前使⽤的终端类型ctrlaltdel:设置热键Ctrl+Alt+Del的功能date:显⽰和设置系统⽇期时间dircolors:设置ls指令显⽰时的颜⾊eject:弹出可移动设备的介质halt:关闭计算机hostid:显⽰当前主机的数字标识hwclock:查询和设置系统硬件时钟info:读取帮助⽂档login:登录系统man:显⽰联机帮助⼿册md5sum:计算并显⽰⽂件的md5摘要信息mesg:设置终端写权限mtools:显⽰mtools软件包的指令mtoolstest:测试并显⽰mtools⼯具包的配置poweroff:关闭计算机并切断电源reboot:重新启动计算机shutdown:关闭计算机sleep:睡眠指定长的时间stat:显⽰⽂件或⽂件系统的状态talk:与其他⽤户交谈wall:向所有终端发送信息whatis:在数据库中查询关键字who:显⽰当前已登录⽤户的信息whoami:显⽰当前⽤户名write:向指定⽤户终端发送信息yes:不断输出指定字符串七、Linux下常⽤命令:⽤户管理chfn:改变⽤户的finger信息chsh:改变⽤户登录时的默认shellfinger:⽤户信息查询程序gpasswd:管理组⽂件/etc/groupgroupadd:创建组groupdel:删除组groupmod:修改组信息groups:显⽰⽤户所属的组grpck:验证组⽂件/etc/group的完整性grpconv:启⽤组的影⼦⼝令⽂件grpunconv:关闭组的影⼦⼝令⽂件logname:显⽰登录⽤户名passwd:设置⽤户密码pwck:验证⽤户⽂件密码⽂件的完整性pwconv:启⽤⽤户的影⼦⼝令⽂件pwunconv:关闭⽤户的影⼦⼝令⽂件su:切换⽤户useradd:创建⽤户userdel:删除⽤户usermod:修改⽤户的配置信息users:显⽰当前登录系统的⽤户名⼋、Linux下常⽤命令:进程管理init:进程初始化控制killall:根据名称结束进程nice:设置进程优先级nohup:以忽略挂起信号⽅式运⾏程序pgrep:基于名字查询并显⽰进程号pidof:查找正在运⾏程序的进程号pkill:向指定的进程发送信号ps:显⽰系统当前的进程状态pstree:⽤树形图显⽰进程的⽗⼦关系renice:调整进程优先级w:显⽰当前登录⽤户的相关信息watch:全屏⽅式显⽰指定命令的输出信息九、Linux下常⽤命令:磁盘与⽂件系统管理badblocks:磁盘坏块检查⼯具blockdev:从命令⾏调⽤块设备的ioctl函数chattr:改变⽂件的第2扩展⽂件系统属性convertquota:转换quota⽂件格式df:报告磁盘剩余空间情况dumpe2fs:显⽰ext2/ext3⽂件系统信息e2fsck:检查ext2/ext3⽂件系统e2image:保存ext2/ext3源数据到⽂件e2label:设置ext2/ext3⽂件系统标签edquota:编辑⽤户的磁盘空间配额fdisk:Linux下的分区⼯具findfs:查找⽂件系统fsck:检查与修复Linux⽂件系统grub:Linux下的引导加载器hdparm:调整硬盘I/O性能lilo:Linux加载器lsattr:显⽰⽂件的ext2⽂件系统属性mkbootdisk:为当前系统创建专门的引导软盘mke2fs:创建第2扩展⽂件系统mkfs:创建各种⽂件系统mkinitrd:创建初始化ram磁盘映像⽂件mkisofs:创建光盘映像⽂件mknod:创建块设备或字符设备⽂件mkswap:创建交换分区⽂件系统mktemp:创建临时⽂件mount:加载⽂件系统parted:磁盘分区管理⼯具quota:显⽰⽤户磁盘配额quotacheck:创建、检查和修复配额⽂件quotaoff:关闭⽂件系统的磁盘配额功能quotaon:打开⽂件系统的磁盘配额功能quotastat:显⽰磁盘配额状态repquota:显⽰⽂件系统磁盘配额信息报表swapoff:关闭交换空间swapon:激活交换空间sync:强制将缓存数据写⼊磁盘tune2fs:调整ext2/ext3⽂件系统的参数umount:卸载已经加载的⽂件系统⼗、Linux下常⽤命令:内核与性能depmod:处理内核可加载模块的依赖关系dmesg:显⽰内核的输出信息free:显⽰内存使⽤情况insmod:加载模块到内核iostat:报告CPU、I/O设备及分区状态ipcs:显⽰进程间通信的状态信息kernelversion:显⽰内核主版本号lsmod:显⽰已加载的模块modinfo:显⽰内核模块信息modprobe:加载内核模块并解决依赖关系mpstat:显⽰进程相关状态信息rmmod:从内核中删除模块sar:收集、显⽰和保存系统活动信息slabtop:实时显⽰内核的slab缓存信息sysctl:运⾏时修改内核参数tload:监视系统平均负载情况top:显⽰和管理系统进程uname:显⽰系统信息uptime:显⽰系统运⾏时间及平均负载vmstat:显⽰虚拟内存的状态⼗⼀、Linux下常⽤命令:X-Window系统startx:初始化X-Window会话xauth:X系统授权许可⽂件管理⼯具xhost:显⽰和配置X服务器的访问权限xinit:X-Window系统初始化程序xlsatoms:显⽰X服务器原⼦数据定义xlsclients:显⽰指定显⽰器上运⾏的X程序xlsfonts:显⽰X服务器使⽤的字体信息xset:设置X系统的⽤户偏爱属性⼗⼆、Linux下常⽤命令:系统安全chroot:以指定根⽬录运⾏指令nmap:⽹络探测⼯具和安全扫描器scp:加密的远程复制⼯具sftp:安全⽂件传输⼯具slogin:加密的远程登录⼯具ssh:加密的远程登录⼯具sudo:以另⼀个⽤户⾝份执⾏指令⼗三、Linux下常⽤命令:编程相关指令awk/gawk:模式扫描与处理语⾔expr:计算表达式的值gcc:GNU的C语⾔编译器gdb:GNU调试器ldd:显⽰共享库依赖make:⼯程编译⼯具nm:显⽰⽬标⽂件的符号表perl:perl语⾔的命令⾏⼯具php:PHP脚本语⾔命令⾏接⼝test:条件测试⼗四、Linux下常⽤命令:其他系统管理与维护指令arch:显⽰当前主机的硬件架构at:按照时间安排任务的执⾏atq:查询待执⾏的任务atrm:删除待执⾏的任务batch:在指定时间运⾏任务chkconfig:设置系统在不同运⾏等级下所执⾏的服务crontab:按照时间设置计划任务last:显⽰以前登录过系统的⽤户相关信息lastb:显⽰登录系统失败的⽤户相关信息logrotate:系统⽇志的轮循⼯具logsave:将命令的输出信息保存到⽇志⽂件logwatch:报告和分析系统⽇志lsusb:显⽰所有的USB设备patch:补丁与更新⽂件rpm:Red Hat软件包管理器runlevel:显⽰当前系统的运⾏等级service:Linux服务管理和控制⼯具telinit:切换当前系统的运⾏等级yum:RPM软件包⾃动化管理⼯具⼗五、Linux下常⽤命令:⽹络配置dnsdomainname:显⽰系统的DNS域名domainname:显⽰和设置主机域名hostname:显⽰或者设置系统主机名ifcfg:配置⽹络接⼝ifconfig:配置⽹络接⼝的⽹络参数ifdown:关闭指定⽹络接⼝ifup:启动指定⽹络接⼝nisdomainname:显⽰和设置主机域名route:显⽰与操纵本机的IP路由表ypdomainname:显⽰和设置主机域名⼗六、Linux下常⽤命令:⽹络测试与应⽤arp:管理本机arp缓冲区arping:向相邻主机发送ARP请求报⽂arpwatch:监听⽹络上的ARP信息dig:域名查询⼯具elinks:纯⽂本⽹页浏览器elm:电⼦邮件客户端程序ftp:⽂件传输协议客户端host:DNS域名查询⼯具ipcalc:IP地址计算器lynx:纯⽂本⽹页浏览器mail:电⼦邮件管理程序ncftp:增强的FTP客户端⼯具netstat:显⽰⽹络状态nslookup:DNS域名查询⼯具pine:电⼦邮件和新闻组处理程序ping:测试到达⽬标主机的⽹络是否通畅rsh:远程shelltelnet:远程登录⼯具tftp:简单⽂件传输协议客户端tracepath:追踪数据经过的路由traceroute:追踪数据包到达⽬的主机经过的路由wget:从指定URL地址下载⽂件⼗七、Linux下常⽤命令:⾼级⽹络指令arptables:管理内核的ARP规则表ip:强⼤的多功能⽹络配置⼯具iptables:IP包过滤与NAT管理⼯具iptables-save:保存内核中iptables的配置iptables-restore:还原iptables的配置信息tcpdump:监听⽹络流量⼗⼋、Linux下常⽤命令:⽹络服务器指令ab:Web服务器性能测试apachectl:Apache HTTP服务器控制接⼝exportfs:管理NFS服务器共享的⽂件系统htdigest:管理⽤于摘要认证的⽤户⽂件htpasswd:管理⽤于基本认证的⽤户⽂件httpd:Apache超⽂本传输协议服务器mailq:显⽰待发送的邮件队列mysql:MySQL服务器的客户端⼯具mysqladmin:MySQL服务器管理⼯具msqldump:MySQL服务器备份⼯具mysqlimport:MySQL数据库导⼊⼯具mysqlshow:显⽰MySQL数据库、表和字段信息nfsstat:显⽰⽹络⽂件系统状态sendmail:电⼦邮件传送代理程序showmount:显⽰NFS服务器上的加载信息smbclient:samba服务器客户端⼯具smbmount:加载samba⽂件系统smbpasswd:改变samba⽤户的密码squid:HTTP代理服务器程序sshd:OpenSSH守护进程。
Linux中的shell与shell命令
s h e l l与s h e l l命令本章主要内容:shell基本功能及种类shell基本概念I/O重定向与管道shell的启动基本shell命令3.1shell基本功能与基本概念3.1.1shell基本功能shell是用户和Linux内核之间的接口程序。
shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。
shell一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构shell具有以下基本功能:1.命令解释执行2.文件名替换.3.输入输出重定向4.连通管道建立5.系统环境设置6.shell编程3.1.2字符与保留字1.字符(1)白空格(2)通配符*:代表从它所在位置开始的任何字符串。
?:代表它所在位置上的任何单个字符。
[]:代表一个指定范围的字符。
方括号中的字符范围可以由直接给出的字符组成,也可以由表示限定范围的起始字符、终止字符及中间的连字符“-”组成。
通配符模式串意义* 当前目录下所有文件名,但不包括.开头的文件。
例如abc但不是.abc *Text* 当前目录下所有文件名中包含有Text的文件名,但不包括.开头的文件[ab-dm]* 当前目录下所有以a、b、c、d、m开头的文件名[ab-dm]? 当前目录下所有以a、b、c、d、m开头且后面只跟有一个字符的文件名[!ab-dm]?或[^ab-dm]?当前目录下所有不以a、b、c、d、m开头且后面只跟有一个字符的文件名/dev/hd? 目录/dev下所有以hd开头且只有三个字符的文件名(3)注释符与注释在shell命令或shell编程中从字符“#”开始以后到行末的部分作为注释,因此以“#”开头的行是注释行。
(4)转义字符(5)Linux系统的特殊键2.保留字任何编程语言或系统都有一定数量的保留字,bashell的部分保留字如下:!,[,],(,),{,},break,continue,cd,echo,eval,exec,exit,export,function,getopts,hash,pwd,read,readonly,return,select,set,shift,test,time,trap,type,ulimit,unset,umask,wait,for,do,done,case,in,esac,if,else,elif,if,while,until转义字符所代表的意义转义字符所代表的意义\a 响铃符\t Tab键\b 退格键\v 垂直制表符\f 换页\\ \\n 换行\0??? 8进制表示\x?? 16进制表示\’’\` ` \””特殊键意义Ctrl+D 结束当前程序输入或终止当前程序或从系统中注销Ctrl+C 终止当前程序的执行Ctrl+\ 终止当前程序的执行(系统内部处理时不同于Ctrl+C)Ctrl+Z 挂起当前程序执行,将推到后台Ctrl+S/Ctrl+Q 暂停/继续屏幕的输出,必须配合使用ScrollLock 暂停/继续屏幕的输出,开关键Ctrl+Alt+Del 默认动作为重启系统Alt+F# 字符终端切换。
linux-实验指导手册-常用命令
实验一Linux常用命令(一)1、Shell环境和Shell命令格式如果实验用计算机上Linux以图形方式启动,登录系统后打开终端窗口。
方法:桌面:右键菜单-Terminal(终端);或:主菜单-系统工具-Terminal(终端)。
命令格式:command [-option(s)] [option argument(s)] [command argument(s)]步骤1:使用who命令步骤2:使用date命令步骤3:使用上下健提取历史命令who,执行。
2、文件系统操作命令(1)改变目录命令:cd 目标目录路径步骤1:使用绝对路径依次进入Linux根目录下的所有子目录。
例如:cd /usr/bin步骤2:使用绝对路径依次进入用户目录。
步骤3:使用相对路径进入子目录1)使用绝对路径进入/lib目录2)使用相对路径进入/lib/i868目录3)使用相对路径退回到/lib目录(2)列出并观察目录中的文件步骤1:进入任意目录,使用无参数ls命令列出并观察其中所有文件;步骤2:进入任意目录,使用通配符列出其中部分文件;例如:cd /binls c*步骤3:使用-l选项,列出目录中文件的各种属性,并观察识别这些属性。
步骤4:直接列出子目录中的文件。
例如:ls i868步骤5:仅列出子目录本身(-d)步骤6:使用-F选项,显示文件类型标志。
步骤7:使用-a或-A选项,观察结果有什么变化。
步骤8:综合使用以上选项。
(3)目录的创建与删除步骤1:在用户目录中,使用相对路径创建一个任意名称的目录,如“tmp”。
mkdir tmp步骤2:删除该目录rmdir tmp步骤3:在根目录中,使用绝对路径在用户命令中创建一个子目录。
mkdir ~/tmp步骤4:删除该目录rmdir ~/tmp步骤5:使用-p参数一次创建多级目录。
如:mkdir ~/tmp/dir1步骤6:使用-p参数删除多级目录。
如:cd ~rmdir tmp/dir1(4)文件和目录拷贝命令:cp步骤1:从/usr/include目录中,任选一个文件拷贝到用户目录的tmp子目录中mkdir ~/tmpcp /usr/include/signal.h ~/tmp步骤2:从/usr/include目录中,任选一个文件拷贝到用户目录的tmp子目录中,并改变其文件名。
常用的linux命令 文档
常用的linux命令文档常用的Linux命令文档Linux操作系统是一种非常强大和灵活的操作系统,广泛应用于服务器和嵌入式系统中。
作为一名Linux系统管理员或者开发者,掌握常用的Linux 命令是至关重要的。
本文旨在提供一份常用的Linux命令文档,涵盖了从基本命令到高级命令的应用和使用。
1. 文件和目录操作命令1.1 ls命令:列出当前目录下的文件和子目录。
1.2 cd命令:切换当前工作目录。
1.3 mkdir命令:创建新的目录。
1.4 cp命令:复制文件或目录。
1.5 mv命令:移动文件或目录。
1.6 rm命令:删除文件或目录。
1.7 touch命令:创建一个新文件。
1.8 cat命令:显示文件内容或者将几个文件合并成一个文件。
1.9 echo命令:将指定的文本输出到终端或者文件。
2. 文件查找和搜索命令2.1 find命令:根据指定的条件在文件系统中查找文件。
2.2 grep命令:在文件或者输入中查找匹配的行。
2.3 locate命令:在系统的数据库中查找文件。
2.4 which命令:查找可执行文件的路径。
2.5 whereis命令:查找二进制程序、源代码和man页文件的路径。
3. 文件权限和权限管理命令3.1 chmod命令:修改文件或目录的权限。
3.2 chown命令:修改文件或目录的所有者。
3.3 chgrp命令:修改文件或目录的所属组。
3.4 passwd命令:修改用户密码。
4. 系统管理命令4.1 top命令:实时显示各种系统资源的使用情况。
4.2 ps命令:查看当前运行的进程。
4.3 kill命令:终止指定的进程。
4.4 service命令:启动、停止和重启系统服务。
4.5 systemctl命令:管理系统的Systemd服务。
5. 网络操作命令5.1 ifconfig命令:查看和设置网络接口配置。
5.2 ping命令:测试主机之间的连通性。
5.3 ssh命令:通过SSH协议登录到远程主机。
linux+shell脚本语言基础知识
linux+shell脚本语言基础知识linuxshell脚本语言基础知识一.shell简介linux系统的shell做为操作系统的外壳,为用户提供更多采用操作系统的界面,更确切的说,shell是用户与linux操作系统沟通的桥梁。
用户既可以输入命令执行,又可以利用shell脚本编程,完成更加复杂的操作。
shell就是一个命令解释器,它从输出设备加载命令,再将其变为计算机可以以了解的指令,然后执行它。
在linux中,shell又不仅是简单的命令解释器,而且是一个全功能的编程环境。
linux的shell种类众多,常用的存有:bourneshell(/usr/bin/sh或/bin/sh)、bourneagainshell(/bin/bash)、cshell(/usr/bin/csh)、kshell(/usr/bin/ksh)、shellforroot(/sbin/sh),等等。
不同的shell语言的语法有所不同,所以不能交换使用。
每种shell都有其特色之处,基本上,掌握其中任何一种就足够了。
通常用bash,也就是bourneagainshell进行编程。
二.shell采用1.建立和运行shell程序shell脚本程序:按照一定的语法结构把若干linux命令非政府在一起,就是这些命令按照我们的要求完成一定的功能。
它可以进行类似程序的编写,并且不需要编译就能执行。
(只需修改其权限)像是撰写高级语言的程序一样,撰写shell程序须要一个文本编辑器,如vi和vim,通常采用vim文本编辑器,积极支持更便捷的填入模式。
首先采用vim编辑器编辑一个hello.sh文件:#!/bin/bash#helloworldexampleecho\这样,一个最简单的shell程序就撰写完了。
第一行:#!说明hello.sh这个文件的类型的,这有点类似于windows系统下的用不同的文件后缀来表示不同的文件类型,但又不完全相同。
Linux Shell编程复习 题集附答案
Linux Shell编程复习题集附答案Linux Shell编程复习题集附答案在本文中,我们将为您提供一份包含答案的Linux Shell编程复习题集。
通过这些题目的练习,您可以加深对Linux Shell编程的理解,并巩固所学知识。
一、基础知识题1. 什么是Shell?Shell是一种解释性的编程语言,用户可以通过Shell来与操作系统进行交互和控制。
答案:Shell是一种解释器,它接收用户的命令并将其转换为操作系统能够理解和执行的形式。
2. 常见的Linux Shell有哪些?答案:常见的Linux Shell有Bash、Zsh、Csh、Ksh等。
3. 如何查看当前使用的Shell是哪种类型?答案:可以使用echo $0命令查看当前使用的Shell类型。
4. 什么是环境变量?如何查看当前的环境变量?答案:环境变量是用来存储系统运行时的配置信息的变量。
可以使用echo $变量名命令查看当前环境变量的值。
5. 如何定义一个变量并给其赋值?答案:可以使用变量名=值的形式来定义并赋值一个变量。
二、基本命令题1. 如何查看当前所在的目录?答案:可以使用pwd命令来查看当前所在的目录。
2. 如何列出当前目录下的所有文件和文件夹?答案:可以使用ls命令来列出当前目录下的所有文件和文件夹。
3. 如何切换到某个目录?答案:可以使用cd命令加上目标目录的路径来切换到某个目录。
例如:cd /path/to/directory。
4. 如何创建一个新的文件夹?答案:可以使用mkdir命令加上目录名来创建一个新的文件夹。
例如:mkdir new_folder。
5. 如何复制一个文件?答案:可以使用cp命令加上源文件和目标文件的路径来复制一个文件。
例如:cp source_file target_file。
三、条件控制题1. 编写一个Shell脚本,判断一个文件是否存在,若存在则输出文件存在,若不存在则输出文件不存在。
Linux13:shell脚本基本命令
Linux13:shell脚本基本命令shell脚本基本命令输出命令echo输出命令echo,基本模式就是echo [选项] [输出内容]输出内容如果包含空格,则必须将内容⽤双引号括起来。
选项-e可以使输出语句⽀持反斜线转义。
加⼊退格后就不会显⽰退格符左边的⼀个字符。
ascii码表中有对应的⼋进制和⼗六进制表⽰法,所以可以表⽰对应的字符。
显⽰环境变量的值:echo ${PATH}或echo $PATH,如果⼀个变量没有被设定,那么就什么都不返回。
颜⾊输出如将abcd⽤红⾊打印:echo -e "\e[1;31m abcd \e[0m"其中\e[1的意思是开启颜⾊输出,⽽\e[0m是结束颜⾊输出,31m代表红⾊,abcd是输出内容,其他颜⾊如下:第⼀个脚本与脚本执⾏⽅式新建⼀个脚本hello.sh:#!/bin/bash#the first programecho "hello world"exit 0其中第⼀⾏是声明,不是注释,不能省略,这是在指定使⽤哪个shell,如果没有这⾏有的程序可能⽆法执⾏。
第⼆⾏#开头的是注释,第四⾏是命令。
最后⼀⾏在设置回传值,在执⾏完该脚本后,执⾏echo $?就能查看这个值,可以通过这个⾃定义错误信息。
在脚本中有需要时要重新定义⼀下PATH环境变量,以便直接使⽤⼀些外部命令⽽不是写绝对路径:PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/module/jdk1.8.0_144/bin:/opt/module/hadoop-2.7.2/bin:/opt/module/hadoop-2.7.2/sbin:/root/bin export PATH执⾏shell脚本要先赋予其可rx权限:chomd 755 hello.sh然后再执⾏./hello.sh这⾥也可以⽤绝对路径执⾏。
linuxshell命令行参数
linuxshell命令行参数Linux shell 命令行参数是指在执行命令时可以传递给命令的一些选项或参数,用来修改命令的行为或执行特定的操作。
在 Linux 系统中,命令行参数通常以`-`或`--`开始,后面跟着选项的名称或参数的值。
以下是一些常见的 Linux shell 命令行参数及其用法:1. `-a` 或 `--all`:显示所有文件和目录,包括隐藏文件。
2. `-l` 或 `--long`:以长格式显示文件和目录的详细信息,包括权限、所有者、大小等。
3. `-h` 或 `--human-readable`:以人类可读的格式显示文件和目录的大小。
4. `-r` 或 `--recursive`:递归地执行命令,包括子目录。
5. `-f` 或 `--force`:强制执行命令,忽略警告或错误。
6. `-i` 或 `--interactive`:交互式地执行命令,需要用户确认或输入。
7. `-n` 或 `--numeric-sort`:按照数字顺序对输出进行排序。
8. `-s` 或 `--size`:按照文件或目录的大小进行排序。
10. `-u` 或 `--user`:以用户的身份执行命令。
11. `-g` 或 `--group`:以组的身份执行命令。
12. `-e` 或 `--execute`:执行命令或脚本文件。
13. `-v` 或 `--verbose`:显示详细的输出信息。
14. `-q` 或 `--quiet`:不显示任何输出信息。
15. `-d` 或 `--directory`:指定要操作的目录。
16. `-p` 或 `--preserve`:保留文件或目录的元数据,如权限、所有者等。
17. `-x` 或 `--extract`:解压缩文件或目录。
18. `-z` 或 `--gzip`:使用 gzip 压缩文件或目录。
19. `-c` 或 `--count`:统计文件或目录的数量。
linux shell input 指令
linux shell input 指令(最新版)目录1.Linux Shell 简介2.Linux Shell 中的输入指令3.示例:使用输入指令正文【1.Linux Shell 简介】Linux Shell 是一个命令行界面,它允许用户与操作系统进行交互。
用户可以在 Shell 中输入各种命令来操作 Linux 系统。
Shell 不仅支持命令行操作,还支持脚本编写,使得用户可以更加方便地完成一些复杂的任务。
【2.Linux Shell 中的输入指令】在 Linux Shell 中,有许多输入指令可以帮助用户获取输入。
这里我们介绍两个常用的输入指令:read 和 echo。
1.readread 指令用于从标准输入(通常是键盘)读取一行数据,并将数据赋值给一个变量。
它的基本语法如下:```read -p "提示信息" 变量名```例如:```read -p "请输入你的名字:" name```上述命令会显示“请输入你的名字:”提示信息,用户输入的内容会被赋值给变量 name。
2.echoecho 指令用于在标准输出(通常是屏幕)上显示一条消息。
它也可以用于将一个变量的值输出到屏幕。
基本语法如下:```echo "消息内容"```例如:```echo "Hello, World!"```上述命令会在屏幕上显示“Hello, World!”。
【3.示例:使用输入指令】下面我们通过一个示例来展示如何在 Shell 脚本中使用 read 和echo 指令。
首先,创建一个名为`input_example.sh`的文件,并在其中输入以下内容:```bash#!/bin/bashread -p "请输入你的名字:" nameecho "你好,$name!"```保存文件后,通过以下命令为脚本添加可执行权限:```chmod +x input_example.sh```接着,运行脚本:```./input_example.sh```脚本会显示“请输入你的名字:”提示信息,用户输入的名字会被赋值给变量 name。
