【Linux】【Commands】基础概念及常用基础命令
命令的语法通用格式:
------------------------------------------------
#COMMAND OPTIONS ARGUMENTS
发起命令:请求内核将某个二进制程序运行为一个进程:
程序 --》 进程
静态 --》 动态(有生命周期)
命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件:
多数系统程序文件都存放在:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
普通命令:/bin, /usr/bin, /usr/local/bin
管理命令:/sbin, /usr/sbin, /usr/local/sbin
共享库:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
32bit的库:/lib, /usr/lib, /usr/local/lib
64bit的库:/lib64, /usr/lib64, /usr/local/lib64
注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件
命令必须遵循特定格式规范:exe, msi, ELF(Linux)
命令分为两类:
由shell程序的自带命令:内置命令(builtin)
独立的可执行程序文件,文件名即命令名:外部命令
shell程序是独特的程序,负责解析用户提供的命令:
环境变量:
PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件:
~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
查找次序:自左而右
查看命令类型:
tpye COMMAND
OPTIONS:
指定命令的运行特性:
选项有两种表现形式:
短选项:-C, 例如-l, -d
注意:有些命令的选项没有-;
如果同一命令同事使用多个短选项,多数可合并:-l -d = -ld
长选项:--word, 例如--help, --human-readable
注意:长选项不能合并;
注意:有些选项可以带参数,此成为选项参数;
ARGUMENTS:
命令的作用对象:命令对什么生效;
注意:不同的命令的参数;有些命令可同事带多个参数,多个之间以空白字符分隔;
例如:ls -ld /var /etc
常用命令:
pwd:printing working directory
显示工作目录
cd: change directory
cd [/PATH/TO/SOMEDIR]
cd:切换回家目录
注意:bash中,~表示家目录;
cd ~:切换回自己的家目录
cd ~USERNAME:切换至指定用户的家目录;
cd -:在上一次所在目录与当前目录之间来回切换;
相关的环境变量:
$PWD:当前工作目录
$OLDPWD:上一次的工作目录
ls:list,列出指定目录下的内容
ls [OPTION]... [FILE]...
-a: 显示所有文件,包括隐藏文件;
-A;显示除了.和..之外;
-l:--long,长格式列表,即显示文件的详细信息:
-rw-r--r--. 1 root root 1757 Nov 8 16:40 /var/log/boot.log
-:文件类型,-, d, b, c, l, s, p
-rw-r--r--
rw-:文件属主的权限;
r--:文件的属主的权限;
r--:其他用户(非属主、属组)的权限;
1:数字表示文件被硬链接的次数;
root:文件的属主;
root:文件的属组;
1757:数字表示文件的大小,单位是字节;
Nov 8 16:40:文件最近一次被修改的时间;
/var/log/boot.log:文件名
-h, --human-readable:对文件大小单位换算;换算后结果可能会非精确值
-d:查看目录自身而非其内部的文件列表;
-r:reverse,逆序显示;
-R:recurseve,递归显示;
cat:concatenate
文本文件查看工具;
cat [OPTION]... [FILE]...
-n:给显示的文本编号;
-E:显示行结束符$;
tac:(与cat的显示相反)
文本文件查看工具;
cat [OPTION]... [FILE]...
-n:给显示的文本编号;
-E:显示行结束符$;
file:查看文件内容类型:
file [FILE] ...
echo:回显
echo [SHORT-OPTION]... [STRING]...
-n:不进行换行;
-e:让转义符生效;
\n:换行
\t:制表符
STRING可以使用引号,单引号和双引号均可引用;
单引号:强引用,变量引用不执行替换;
~]# echo '$SHELL'
双引号:弱引用,变量引用会被替换;
~]# echo “$SHELL”
注意:变量引用的正规符号
${name}
关机或重启命令:shutdown
shutdown [OPTION]... TIME [MESSAGE]
OPTIONS:
-h:halt
-r:reboot
-c:cancel
TIME:
now
hh:mm
+m
+0=now
MESSAGE=wall “message”
日期相关的命令:
Linux:系统启动时从硬件读取日期和时间信息:读取完成以后,就不再与硬件关联;
系统时钟
硬件时钟
date:系统时钟
显示系统日期时间:date [OPTION]... [+FORMAT]
FORMAT:格式符
%F
%T
%Y
%m
%d
%H
%M
%S
%s:从1970年1月1号(unix元年)0点0分0秒到命令执行那一刻的秒数;
...
设定系统日期时间:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
clock/hwclock:硬件时钟
显示或设定硬件时钟
-s, --hctosys:以硬件为准,把系统调整为与硬件时间相同;
-w, --systohc:以系统为准,把硬件时间调整为与系统时钟相同;
cal:日历
cal [[month] year]
type COMMAND:
内部:builtin
外部:显示为命令文件路径;
注意:命令可以有别名;别名可以与原名相同,此时原名被隐藏;此时如果要运行原命令,则使用\COMMAND;
alias:命令别名
获取所有可用别名的定义:
~]# alias
定义别名:
~]# alias NAME=‘COMMAND’
注意:仅对当前shell进程有效
撤销别名:
~]# unalias NAME
which:显示命令完整路径
which [options] [--] programname [...]
--skip-alias:忽略别名
whereis:
locate the binary, source, and manual page files for a command
whereis [options] [-BMS directory... -f] name...
-b:仅搜索二进制程序路径;
-m:仅搜索使用手册文件路径;
who:
show who is logged on
who [OPTION]... [ FILE | ARG1 ARG2 ]
-b:系统此次启动的时间;
-d:显示死亡的进程
-l:显示系统登录进程
-u:显示谁登录
-r:运行级别
w:
Show who is logged on and what they are doing
w [options] user [...]
目录管理类命令:
mkdir, rmdir
mkdir:make directories
mkdir [OPTION]... DIRECTORY...
-p:自动按需创建父目录;
-v:verbose,显示详细过程;
-m MODE:直接给定权限;
注意:路径基名方为命令的作用对象;基名之前的路径必须得存在;
rmdir:remove empty directories
rmdir [OPTION]... DIRECTORY...
-p:删除某目录后,如果其父目录为空,则一并删除;
-v:显示过程
tree:
tree [options] [directory]
-L level:指定要显示的层级;
【Linux】【Commands】基础概念及常用基础命令的更多相关文章
- [基础学习]MySQL常用语句命令总结
前言 相信平时大家在开发时都会使用MySQL数据库,它是目前比较火的一款数据库工具,对于大多数企业的业务来说,MySQL可以很完美地支持了. 很多时候我们都是借助mysql可视化工具操作mysql,虽 ...
- 『与善仁』Appium基础 — 4、常用ADB命令(一)
目录 1.启动和关闭ADB服务 2.查看ADB版本 3.指定adb server的网络端口 4.查询已连接设备/模拟器 5.获取安卓系统版本 6.为命令指定目标设备 7.发送文件到手机 8.从手机拉取 ...
- Linux文件和目录管理常用重要命令
一.目录与路径 1.相对路径与绝对路径 因为我们在Linux系统中,常常要涉及到目录的切换,所以我们必须要了解 "路径" 以及 "相对路径" 与 "绝 ...
- 『与善仁』Appium基础 — 5、常用ADB命令(二)
目录 9.查看手机运行日志 (1)Android 日志 (2)按级别过滤日志 (3)按 tag 和级别过滤日志 (4)日志格式 (5)清空日志 10.获取APP的包名和启动名 方式一: 方式二: 11 ...
- Linux系列(18) - 常用压缩命令(1)
常用压缩格式 .zip .gz .bz2 .zip格式压缩/解压缩 命令格式 压缩 zip [压缩文件名] [源文件]:压缩文件 zip -r [压缩文件名] [源目录]:压缩目录 解压缩 unzip ...
- Linux Web服务器网站故障分析常用的命令
系统连接状态篇: 1.查看TCP连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ { ...
- Linux系列(19) - 常用压缩命令(2)
常用压缩格式 .tar.gz .tar.bz2 上述两个原理:先用tar进行打包,打完包再用gz或者bz2进行压缩 打包命令tar 命令格式 tar -cvf [打包文件名] [源文件1] [源文件2 ...
- linux下svn版本控制的常用命令大全
1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:s ...
- 通信技术:SSE设计方案(一)--- 前端Server-Sent Events概念讲解和基础类库完善发布
好了,开篇还是要扯扯的,否则感觉这个技术讲的么有那么冻人,嗯,这个晚上是有点冷了,秋衣秋裤大家都该加起来了,反正我不帮你买,妹子除外,嘻嘻. 之前几篇博客,研究前端通信技术的第一层ajax技术,从最基 ...
随机推荐
- node 中第三方模块的加载过程原理
node 中第三方模块的加载过程原理 凡是第三方模块都必须通过 npm 来下载 使用的时候就可以通过require('包名') 的方式来进行加载才可以使用 不可能有任何一个第三方包和核心模块的名字是一 ...
- 使用 SSL 加密的 JDBC 连接 SAP HANA 数据库
近期客户为满足安全要求,提了让业务应用使用 SSL 方式连接 SAP HANA 数据库的需求.本人查询 SAP官方文档 发现数据库支持 SSL 连接,有参数直接加到 JDBC 的 URL 后边就行了, ...
- 一个疏忽损失惨重!就因为把int改成Integer,第2天被辞了
1 故事背景 一个程序员就因为改了生产环境上的一个方法参数,把int型改成了Integer类型,因为涉及到钱,结果上线之后公司损失惨重,程序员被辞退了.信不信继续往下看.先来看一段代码: public ...
- 【数据结构&算法】12-线索二叉树
目录 前言 线索二叉树的概念 线索二叉树的实现 线索二叉树的寻点思路二 类双向链表参考图 参考代码 中序遍历线索化 前言 在<大话数据结构>P190 页中有一句话:其实线索二叉树,就等于是 ...
- Part 30 AngularJS routeparams example
Here is what we want to do : When we navigate to /students, the list of student names must be displa ...
- 解决一个无聊的问题,如何处理Java用户在dos被收集信息时拷贝带换行符的文本信息造成的while的多次循环(java解决Scanner.next在接收用户输入时出现多个换行的形况)[解决方案一]
问题描述: 用户在dos窗口输入的时候(web项目不会出现这样的问题,所以这个问题日常碰不到),摁下回车时,Scanner对象的next()扫描用户输入的文本,后面就可以根据输入的字符串进行判断,并执 ...
- [cf1305G]Kuroni and Antihype
对整个过程构造一张有向图,其中$(x,y)\in E$当且仅当$x$把$y$加入,且边权为$a_{x}$ 显然这是一棵外向树森林,并再做如下两个构造: 1.新建一个点$a_{0}=0$,将其向所有入度 ...
- [gym102220I]Temperature Survey
(为了方便,以下记$a_{0}=0,a_{n+1}=n$,并将$n$加上1) 构造一个$n$行的网格图,从上到下第$i$行有$a_{i}$个格子,格子左对齐 记第$i$行第$j$个格子为$(i ...
- Jetpack架构组件学习(2)——ViewModel和Livedata使用
要看本系列其他文章,可访问此链接Jetpack架构学习 | Stars-One的杂货小窝 原文地址:Jetpack架构组件学习(2)--ViewModel和Livedata使用 | Stars-One ...
- java番外茶余饭后闲聊
java番外茶余饭后闲聊 **本人博客网站 **IT小神 www.itxiaoshen.com 今天聊点题外话没事时可以作为平时沟通交流的谈资,接下来一起简单了解下个人知晓对Java界开发产生深远影响 ...