Linux Shell 与Linux常用命令
Linux的人际交互分为图形界面方式和命令行方式。
Linux本身只是一个操作系统内核,而由X Window图形用户接口为Linux提供图形用户界面功能。可以把X Window理解为一个运行在Linux操作系统上的应用程序,不同用户根据自己需要为自己配置不同的X Window。X Window可分为KDE和Gnome两大类,此外 ubuntu还提供了Unity图形界面。
shell,俗称“壳”,用以和“核”区别,是指“提供使用者使用界面”的软件(命令解释器),类似于windows下的cmd,用来接受用户命令。实际上,X Window也是shell的一种,只不过狭义的shell只用来表示以命令行形式提供的shell。
常见的shell包括ash/bash/ksh/csh/zsh 5种。ubuntu发行版本使用的bash。
启动shell时,先读取/etc/bash.bashrc文件对整个linux系统进行配置,再读取~/.bashrc文件对当前用户进行配置,如果这两个文件有冲突,后者为准。(这类似于vim的配置文件/etc/vim/vimrc和~/.vimrc)
用户可以安装多个shell。与Linux内核类似,shell只提供一个计算机和用户交互的”内核“,其具体的命令输入输出交流还是要通过终端(Terminal)完成。系统在启动时,会自动启动多个终端,如ubuntu会启用7个终端,1~6号终端是直接运行的一个”真实终端“,7号终端交给X Window使用,是图形界面下的终端,使用Ctrl+Alt+Fn在不同终端间切换(Fn=F1~F6)。注意,真实终端下通常无法显示中文字符。
——还可用通过SSH/Telnet实现远程控制shell。Telnet是一种TCP/IP协议,是Internet远程登录服务的标准协议和主要方式,SSH协议则为Telnet提供的远程主机工作能力提供安全保障。远程登录工具:PuttyMan。
shell的工作方式:1--作为命令行提供用户控制内核完成工作——“交互式”
2--作为一种编程语言供开发者使用
第一种方式很简单,与windows cmd类似,介绍一下第二种方式:Linux下存在一种特殊的可执行文件,内容是各种命令组成的纯文本文件(脚本文件),用以完成重复性较强的工作,shell对这种文件进行时别,并自动执行,是一种”非交互式“的工作方式。
shell和用户交互是在终端以字符串形式的输入命令和输出反馈实现的。输入命令格式为:
命令 选项 参数
选项必须以减号开头,Linux以此区分选项和参数。
shell的通配符主要用于模式匹配,比如文件名匹配、路径名搜索、字符串查找等,常用的有*、?和括在[ ]里的字符序列。*表示任意字符串,?表示任意一个字符,[ ]里的字序列表示文件名中[ ]处的字符必须在字符序列的指示范围内。
例如:*.c 表示所有当前目录下所有.c文件,??表示当前目录下所有文件名长为2个字符的文件,a[bc]d指示文件名为abd或acd的文件,a[b-d]e指示文件名为abe,ace,ade的文件。
shell中的引号有单引号、双引号、和反引号三种,单引号内部的字符序列全部作为普通字符被处理,双引号没有单引号那么“绝”,它还是会识别一些引号内的特殊字符,例如“$"、”\"、“`”,即当双引号中的字符序列中含有这几种特殊字符时,这些特殊字符的含义仍会被解释。反引号括起来的字符序列会被shell解释为命令行,在执行时,首先执行该命令行,并将其输出结果取代整个反引号部分(包括两个反引号)。
例如:特殊字符$用以引用变量的值,则对于环境变量PATH,$PATH获取了PATH的值,即一系列目录。而若定义一个字符串string,将$PATH用单引号括起来赋给string,那么$string就仅获取了“$PATH”这个单纯的字符串,而不会将PAT解释为一系列目录。可以用echo命令来查看这些它们的获取结果。
反引号的嵌套使用,内层的反引号需要用反斜杠转义:
string="-a"
abc=`ls \`echo $string\``
echo $abc
Linux的一些常用命令(只做一下整理):
mkdir 文件名 ——创建目录
rmdir 文件名 ——删除目录,只能删除空目录,若要删除非空目录,需要用“ rm -rf 文件名”;使用选项-p可以同时删除空目录上的空父目录。
pwd ——当前工作目录
cd 目录 ——切换当前工作目录 ,其中,.表示当前工作目录,..表示当前工作目录的上一级目录,/表示根目录,~表示当前用户home目录。
ls 选项 文件目录列表 ——显示目录下的文件信息,-a显示全部文件(包括隐藏文件),-l显示文件详细信息,-p在输出文件名的后面加上一个字符说明该文件类型,-1一行只输出一个文件
find 目录列表 匹配标准 ——用于查找文件。常用的有"find 目录 -name 文件名",查找目录下的指定文件名文件,该文件名中加入通配符可实现模糊查找;(我在测试 find -name选项时出现了错误提示“路径必须在表达式之前”,解释如下图)
cat 选项 文件列表 ——用以在命令行显示文件内容,-n可以在文件每行前显示行号;-v 以特殊形式显示控制字符,配以-T表示将TAB显示为uI,配以-E表示在每一行末尾显示一个$字符。其次,“cat 文件a 文件b > 文件c”还可以把文件b的内容连接到文件a后并将连接后的内容写入到新文件c中。
cp 选项 源文件或目录 目标文件或目录 ——用于文件和目录复制。-i可以在复制操作会导致已有文件被覆盖时发出提示请求确认操作,是一种交互式拷贝,更安全。
mv …… ——移动(相当于剪切操作)或者重命名。
wc …… ——统计文件内容
rm …… ——删除文件
ps …… ——显示进程列表,-aux详细输出,-w加宽显示,以完整显示进程信息,可叠加写 如www表示加宽三次,通常最多写三次
kill …… ——输出特定指令给指定进程号PID的进程,默认为终止该进程
ifconfig …… ——IP地址管理
man ——帮助
shutdown、halt、reboot ——用于关机和重启
uname ——查看内核
lsb_release ——查看发行版版本号,该命令需要安装lsb_core
Linux Shell 与Linux常用命令的更多相关文章
- Linux Shell 编程 教程 常用命令
概述: Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户 ...
- Linux Shell sort排序常用命令(转载)
转载自:http://blog.csdn.net/monkeyduck/article/details/10097829 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则 ...
- Linux基础 - 系统优化及常用命令
目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...
- Linux基础系统优化及常用命令
# Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...
- Linux文件管理和编辑常用命令
Linux文件管理和编辑常用命令 mkdir 命令 功能说明 mkdir 命令用于创建一个目录,mkdir是make directory的缩写 格式: mkdir [选项] 目录名 mkdir 命令的 ...
- Linux系统管理和维护常用命令
Linux系统管理和维护常用命令 ls 命令 功能说明 ls 命令显示指定工作目录下的内容,列出工作目录所包含的文件及子目录. 语法结构: ls [选项] [路径或文件] ls 选项及说明 -a 显示 ...
- [转帖]「日常小记」linux中强大且常用命令:find、grep
「日常小记」linux中强大且常用命令:find.grep https://zhuanlan.zhihu.com/p/74379265 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍 ...
- linux shell 中的sleep命令
开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...
- Linux 文件夹相关常用命令
Linux 文件夹相关常用命令 查看 ls -la -l 列出详细信息 -a 列出全部,包括.和.. 删除 rm <folder> -rf -r 就是向下递归,不管有多少级目录,一并删 ...
- Linux课程---4、Linux目录结构及常用命令(目录结构)
Linux课程---4.Linux目录结构及常用命令(目录结构) 一.总结 一句话总结: 家目录:./root:root用户的家目录 能执行的程序:./bin:所有用户都能执行的程序:./sbin:只 ...
随机推荐
- Tomcat无法正常启动start.bat 一闪而过、只显示USING 故障排除
在云主机上配置tomcat的时候遇到的问题. 1. 开始的时候我将自己用的tomcat6绿色版打包放到了主机上,当我打开bin下面的时候startup.bat时,控制台一闪而过,查看log文件没有任何 ...
- 【Leetcode】【Medium】Single Number II
Given an array of integers, every element appears three times except for one. Find that single one. ...
- ThinkPHP5专题
TinkPHP5中 1. model中select()后的查询结果是对象而不是数组 2. model中 假如有 $result=$this->field($fields)->where($ ...
- [总结]Perl在遇到Unicode字符文件名时的各种处理方法
环境 XP/WIN7 Perl v5.16 编辑整理:523066680 常见的那些文件操作函数都不支持,于是为了达到目的,需要各种方法配合,应该是不如其他语言方便. 我只是想看看Perl到底是否适 ...
- Git 还没push 前可以做的事(转)
Git 版本控制系統(3) 還沒 push 前可以做的事 转载:http://ihower.tw/blog/archives/2622 這一集要講的是:還沒 push 前可以做的壞事,也就是 re ...
- jquery.dataTables列中内容居中问题?求解?
.table > tbody > tr > td { vertical-align: middle; }
- PowerDesigner如何设计表之间的关联
PowerDesigner如何设计表之间的关联 步骤/方法 在工具箱中找到参照关系工具: 由地区表到省份表之间拉参照关系,箭头指向父表,然后双击参照关系线,打开参照关系的属性: 在这里检查 ...
- ABP问题记录
按照<Asp.NET Core2.0与 EF的ABP框架入门视频教程>(https://ke.qq.com/course/287301)下载了3.9版本的ABP,开始学习,下面记录遇到的问 ...
- springmvc时间(date)无法转入后台(@DateTimeFormat+@JsonFormat(GMT+8))
spring时间(date)无法转入后台 Type Status Report Description The server cannot or will not process the reques ...
- asp.net中Page.ClientScript.RegisterStartupScript用法小结
ClientScript.RegisterStartupScript(Page.GetType(), "Show", "alert('" + l_strConf ...