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:只 ...
随机推荐
- swftools 将pdf转换swf常见问题说明
swftools将PDF转成swfSWFTools提供了一系列将各种文件转成swf的工具: font2swf.exe gif2swf.exe jpeg2swf.exe pdf2swf.exe png2 ...
- ARM 中可用性集使用的注意事项
Azure 目前有两种部署模型:经典部署模型 (ASM) 和资源管理器 (ARM).如果您之前使用过 ASM 模式下的可用性集,那么很可能在使用 ARM 模式下的可用性集时,会遇到一些问题或者疑惑.这 ...
- 2016微软技术大会Azure相关回顾
3 天的时间稍纵即逝,伴随着本届大会压轴大奖的揭晓,2016 年度的微软技术大会完美落幕.以“数字化转型”为主题,来自微软全球的近百位顶尖技术专家.工程师和业务负责人拔冗而至,在 130 余场的专业技 ...
- Flask环境github及项目部署(十三)
(1) github项目搭建 1 连接GitHub hostnamectl set-hostname flask-dev # 设置 hostname,一般是主机名可以不更改 ssh-keygen # ...
- [转]Ubuntu 小企鹅输入法fcitx 支持 五笔拼音
之前在Ubuntu下使用ibus五笔输入法,用了一段时间发现五笔输入法不能输入词组,并且五笔不支持拼音的功能,从网上找到可以使用fcitx替换掉ibus,因此自已尝试了一把,安装步骤如下: 1. 安装 ...
- VOJ1049 送给圣诞夜的礼品 【矩阵经典4】
任意门:https://vijos.org/p/1049 描述 当小精灵们把贺卡都书写好了之后.礼品准备部的小精灵们已经把所有的礼品都制作好了.可是由于精神消耗的缘故,他们所做的礼品的质量越来越小,也 ...
- (第七场)A Minimum Cost Perfect Matching 【位运算】
题目链接:https://www.nowcoder.com/acm/contest/145/A A.Minimum Cost Perfect Matching You have a complete ...
- 使用Sleep方法延迟时间
实现效果: 关键知识:(线程的定义) 实现代码: private void Form1_Load(object sender, EventArgs e) { Thread show = new Thr ...
- caffe实现focal loss层的一些理解和对实现一个layer层易犯错的地方的总结
首先要在caffe.proto中的LayerParameter中增加一行optional FocalLossParameter focal_loss_param = 205;,然后再单独在caffe. ...
- 记安卓appium自动化测试实践
一.软件安装 1. 安装node.js,安装路径D:\Program Files\nodejs\ 可以在官网下载https://nodejs.org/zh-cn/download/,版本号为node- ...