linux使用和基础操作
1、linux系统初使用
linux有图形终端和字符终端,关于linux学习以字符终端为主,即命令行操作:
[root@centos7 ~]#runlevel 查看当前工作模式
N 3 //3为字符终端,5为图形终端
[root@centos7 ~]#init3 //切换至字符终端
[root@centos7 ~]#init5 //切换至图形终端
[root@centos7 ~]#startx //只是启动图形,不是模式切换,[Ctrl]+c关闭图形
虚拟终端:[Ctrl]+[Alt]+F1~F6
图形终端:[Ctrl]+[Alt]+F7
切换终端:chvt 1~6,命令切换和按键切换一样
查看在线:who命令
查看当前的终端设备:tty命令
显示当前用户身份:whoami或who am i命令
显示谁在登录并做什么事:w命令
2、shell程序(bash shell)
shell是一种高级程序设计语言,也被称为linux的命令解释器:它提供了用户与内核进行交互操作的一种接口,接收用户输入的命令并把它送入内核去执行。
3、内部命令(集成在shell)和外部命令
enable命令 列出所有内部命令
enable -n cmd 禁用内部命令cmd
enable -n 查看所有禁用的内部命令
enable cmd 启用该cmd内部命令
type cmd 显示是内部命令还是外部命令:内部命令没路径,外部命令有路径
[root@centos7 ~]#enable
enable .
enable :
enable [
enable alias
......
[root@centos7 ~]#enable -n cd
[root@centos7 ~]#enable -n
enable -n cd
[root@centos7 ~]#enable cd
[root@centos7 ~]#type pwd
pwd 是 shell 内嵌
[root@centos7 ~]#type pstree
pstree 是 /usr/bin/pstree
4、PATH变量
[root@centos7 ~]#echo $PATH //echo显示变量后续介绍echo详细用法
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
优先级从左到右搜索,可以移动外部命令的位置,改变搜索优先级(哈希hash会记录外部命令的位置
[root@centos7 ~]#hash //可以看到hash记录的外部命令的缓存信息
命中 命令
1 /usr/bin/pstree
1 /usr/bin/who
1 /usr/bin/ls
[root@centos7 ~]#hash -d ls //清除ls的hash缓存
[root@centos7 ~]#hash
命中 命令
1 /usr/bin/pstree
1 /usr/bin/who
[root@centos7 ~]#hash -r //清除hash所有缓存
[root@centos7 ~]#hash
hash: 哈希表为空
hash的更多参数选项:
hash //默认列出当前hash缓存
hash -d cmd //清除cmd缓存
hash -r //清除所有hash缓存
hash -t cmd //打印缓存中cmd的路径
hash -p path cmd //将命令全路径path起别名为cmd
hash -l //显示hash缓存,可作为输出使用
5、命令格式:
COMMAND [OPTIONS…] [ARGUMENTS…]
命令 选项 参数(命令的作用对象)
多个选项以及参数和命令之间使用空白字符分隔
取消和结束命令执行:Ctrl+c,Ctrl+d
多个命令可以用;分开
一个命令可以用\分成多行
6、命令别名:
1>显示当前 shell 进程所有可用的命令别名
[root@centos7 ~]#alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
......
2>定义别名 NAME,其相当于执行命令 VALUE
# alias NAME=’VALUE’
撤销别名:# unalias [-a] NAME1 NAME2... -a 撤销所有别名
3>在命令行中定义的别名,仅对当前 shell 进程有效
如果想永久有效,要定义在配置文件中:
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
exit 退出生效;. 或 souce 后跟更改的配置文件使之不退出生效
4>如果别名同原命令同名,要使用原命令可以使用:
\ALIASNAME、”ALIASNAME”、’ALIASNAME’或 command ALIASNAME
7、简单命令
1>关机:halt,poweroff
2>重启:reboot
选项:
-f:强制,不调用 shutdown
-p:切断电源
3>关机或重启:shutdown [OPTION]… TIME [MESSAGE]
选项:
-r:reboot
-h:halt
-c:cancel
TIME 无指定,默认相当于+1
Now:立刻,相当于+0
+m:相对时间表示法,几分钟之后(例如:+3)
hh:mm:绝对时间表示,指明具体时间
4>wall “广播内容” //发广播,当前这台机器上所有用户可见
5>用户登录信息查看命令:
whoami //显示当前登录有效用户
who //系统当前所有的登陆会话
w //系统当前所有的登陆会话及所做的操作
6>screen 命令:
screen -S [SESSION] //创建新screen会话
screen -ls //显示当前所有screen会话
screen -x [SESSION] //加入screen会话
exit //退出并关闭screen会话
[Ctrl]+a,[Ctrl]+d //剥离当前会话
screen -r [SESSION] //恢复某 screen 会话
7>echo 命令
功能:显示字符
语法:echo [-neE] [字符串]
说明:echo 会将输入的字符串送往标准输出。输出的字符串以空白字符隔开,并在最后加上换行号。
选项:
-E //(默认)不支持\解释功能
-n //不自动换行
-e //启用\字符的解释功能
\a 发出警告声
\b 退格键
\t 插入 tab
……
显示变量:echo “$VAR_NAME”
8>命令行、括号扩展:
单引号’ ’ //引号之内只当做字符处理
双引号” ” //引号之内识别变量,不识别命令
反向单引号` ` //引号之内识别变量,识别命令
` `或$()用于一个命令调用另一个命令的输出
括号扩展:
打印重复字符串的简化形式
[yang@centos7 ~]$echo file{1,2,3}
file1 file2 file3
[yang@centos7 ~]$echo {1..9}
1 2 3 4 5 6 7 8 9
9>bc 计算器:
ibase=16 //输入:16进制数,输出:10进制数
61
97
obase=16 //输入:10进制数,输出:16进制数
97
61
10、编辑/etc/motd 文件,编辑登陆后提示信息;编辑/etc/issue 文件,编辑登录前提示信息
11、[Tab]键之命令补全、文件路径补全
12、查看历史命令:history
# echo $HISTSIZE //HISTSIZE 变量保存的是历史命令的条数
# vim /etc/profile //更改系统保存历史命令的条数
# ![条数] //执行历史中那条命令
[Ctrl]+r //搜索历史命令,[Ctrl]+g 退出
……
历史命令先保存在内存中,退出时再将数据写入磁盘文件(.bash_history)
13、文件通配符
* | 匹配 0 个或多个字符 |
? | 匹配任意单个字符 |
~ | 当前用户家目录 |
~yang | 用户 yang 的家目录 |
~+ | 当前工作目录 |
~- | 前一个工作目录 |
[0-9]、[a-z]、[A-Z] | 匹配范围内的内容 |
[yang] | 匹配列表中的任意一个字符 |
[^yang] | 匹配列表中所有字符以外的字符 |
[[:upper:]] | 所有大写字母 |
[[:lower:]] | 所有小写字母 |
[[:alpha:]] | 所有字母 |
[[:digit:]] | 所有数字 |
[[:alnum:]] | 所有的字母和数字 |
[[:blank:]] | 水平空白字符 |
[[:space:]] | 所有空白字符 |
[[:punct:]] | 所有标点符号 |
[[:print:]] | 可打印字符 |
[[:cntrl:]] | 控制(非打印)字符 |
[[:graph:]] | 图形字符 |
[[:xdigit:]] | 十六进制字符 |
14>其他简单命令:
echo $RANDOM //生成随机数(0-32767)
openssl rand -base64 n //生成n位的随机字符数
last //显示成功登陆信息
netstat -nt //显示远程主机连接的次数
cd //切换目录(cd -:回退到上次目录,存放在$OLDPWD 变量里)
ls -a -A -R(递归) -l(显示长属性) -ld(目录和符号链接信息不加 d 显示子目
录文件长属性) -1(按字母顺序每行显示) -S(按大小倒序排序) -r(取反) -t(按时间
排序) ls -d */(只显示当前文件夹的目录)
atime:访问时间;mtime:修改时间(正常看到的);ctime:状态时间(属性、属组更改时间改变)
stat [file_name] //同时查看文件三个时间信息
touch //文件不存在创建空文件;刷新已存在文件的时间
-a 仅改变 atime 和 ctime
-m 仅改变 mtime 和 ctime
-t [[CC]YY]MMDDhhmm[.ss] 指定 atime 和 mtime 的时间戳(年月日小时分秒)
-c 如果不存在,则不创建
cp [选项]... [-T] 源文件 目标文件
cp [选项]... 源文件... 目录
cp [选项]... -t 目录 源文件...
cp -r 源目录 目标目录 //-r 复制目录
\cp –r 源目录 目标目录 //\cp:使用真cp不使用别名
cp -f //目标文件存在,先删除后复制
cp -p //保留所有者属性
cp -a //递归;保留链接(相当于-d);保留所有属性(备份手段)
cp -av //备份+显示信息
cp –backup=numbered 原文件 目标文件 //不用担心覆盖,会备份
备份:
cp file{,.bak} //{ }的使用
想批量备份文件,在每个文件后都加上一个.bak 后缀,cp 命令做不到。可以先复制成两份,再使用 rename 更改其中一份的文件名
rename "conf" "conf.bak" file* //搜索file*,使用conf.bak替换conf
mv:移动文件、更改文件名
-i 交互式(默认)
-f 强制
rm:删除
-r 递归
-f 强制删除
可以用 mv 代替 rm:rm=’mv -t /tmp’
tree [dir] //显示特定目录的目录树结构
tree -L 1 [dir] //显示特定目录下一层目录树结构
-d //只显示目录不显示文件
-P //pattern:只显示由 pattern 匹配到的路径
mkdir:创建目录
-p:递归创建
-v:显示详细信息
-m MODE:创建目录时直接指定权限
rmdir:删除空目录
-p:递归删除父空目录
-v:显示详细信息
rm -r:递归删除目录树
shred 文件 //安全删除文件
-z 最后一次用 0 覆盖;-v 看过程;-u 覆盖后删除;-n 6 覆盖 6 次
15>索引节点
inode(index node)表中包含文件系统所有文件列表
一个节点(索引节点)是在一个表项,包含有关文件的信息(元数据),包括:
文件类型,权限,UID,GID
链接数(指向这个文件路径名称个数)
该文件的大小和不同的时间戳
指向磁盘上文件的数据块指针
有关文件的其他数据
ls -i //查看节点编号,节点编号:用来唯一标识每个文件的唯一性(同一分区唯一)
df -i //查看节点数,每个分区有固定的文件节点数,满了就相当于磁盘满了
目录:
文件引用一个是 indoe 号
人是通过文件名来引导引用一个文件
一个目录是目录下的文件名和文件 indoe 号之间的映射
rm 命令:链接数递减,从而释放的 indoe 号可以被用,把数据块放到空闲列表中数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
所以可以使用 shred 安全删除(覆盖删除)
16>软硬链接
节点编号每个文件一个(可以使用 ln 创建硬链接实现一个节点编号对应对个文件名)
硬链接的本质:一个节点多个名字(平等关系)同一分区、针对于文件
目录创建(链接数默认为 2:.当前目录和目录名;在目录里在创建一个目录..上一级目录新加一个名,链接数变为 3)
软链接的本质:快捷方式;软链接的大小和路径有关和原文件大小无关
ln -s [旧文件名] [新文件名]
软链接不能写相对当前路径,相对的是软链接的路径
软硬链接的区别:
本质:
硬链接:同一个文件多个名字
软链接:一个文件对应快捷方式,是不同文件
表现:
链接数
跨分区
是否支持目录
与原始文件的关系
删除
大小
部署软件使用软链接实现版本切换
17>确定文件内容
文件可以包含多种类型的数据,检查文件的类型,然后确定适当的打开命令或应用程序使用
file [option]:
-b 列出文件辨识结果时,不显示文件名称
-f filelist 列出文件 filelist 中文件名的文件类型
-F 使用指定分隔符号替换输出文件名后默认的“ :”分隔符
-L 查看对应软链接对应文件的文件类型
8、获取多层次的帮助
1>Whatis 或 man -f //显示命令的简短描述,使用数据库,刚安装后不可立即使用(需使用 makewhatis | mandb 制作数据库)
2>command –help
man and info
/usr/share/doc/
3>网站搜索
4>man 帮助:
查看 man 手册页:man [章节] keyword
列出所有帮助:man -a keyword
搜索 man 手册:man -k ketword 列出所有匹配的页面
man 章节:
1:用户命令;2:系统调用;3:C 库调用;4:设备文件及特殊文件;5:配置文件格式;6:游戏;7:杂项;8:管理类命令;9:LINUX 内核 API
[root@centos7 ~]#whatis rm
rm (1p) - remove directory entries
rm (1) - remove files or directories
[root@centos7 ~]#man 1 rm //查看帮助信息
man 手册放在/usr/share/man;man 命令的配置文件:/etc/man.config | man db.conf
内部命令:help 命令 //使用help获取内部命令帮助信息
外部命令:man 命令、--help //使用man或--help获取外部命令帮助信息
linux使用和基础操作的更多相关文章
- SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- Linux一些最基础操作
最后更新时间: 2015-05-06 这是一篇很早之前写的,整理笔记的时候看到了,Linux 非常基础操作. bin/sbin: 一般是存放可以执行文件 绝对路径 相对路径 mkdir dir ls: ...
- Linux命令行基础操作
目录 1.打开终端命令行 2.常用快捷键 2.1 tab键 2.2 Ctrl+c组合键 2.3 Ctrl+d组合键 2.4Ctrl+Shift+c组合键和Ctrl+Shift+v组合键 2.5图形界面 ...
- 【Linux】lvm基础操作
新增两块硬盘,来进行实验: [root@jp ~]# fdisk -l Disk /dev/sda: 107.3 GB, 107374182400 bytes 255 heads, 63 sector ...
- linux下的基础操作
Xfce 终端: Linux 命令行终端,打开后会进入 zsh Shell 环境,可以使用 Linux 命令. NetSurf 网络浏览器:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的 ...
- Linux系列——常规基础操作
1.配置IP a.若安装桌面版系统,直接GUI画面配置,操作直观.简单 b.若安装非桌面版系统,进行如下配置: 1).ifconfig命令(临时配置,重启后失效) ifconfig eth ...
- 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
. : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...
- Linux基于Hadoop2.8.0集群安装配置Hive2.1.1及基础操作
前言 安装Apache Hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可,安装前需保证Hadoop已启(动文中用到了hadoop的hdfs命 ...
- Linux基础操作及概念
Linux基础操作及概念 终端的概念 通常我们在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成用户输入和显示 ...
随机推荐
- 详细解析Redis中的布隆过滤器及其应用
欢迎关注微信公众号:万猫学社,每周一分享Java技术干货. 什么是布隆过滤器 布隆过滤器(Bloom Filter)是由Howard Bloom在1970年提出的一种比较巧妙的概率型数据结构,它可以告 ...
- LeetCode 第17题--电话号码的组合(DFS)
1. 题目 2.题目分析与思路 3.代码 1. 题目 输入:"23" 输出:["ad", "ae", "af", &qu ...
- proxy应用场景
//场景一:可以修改对象的值let o = { name: 'xiaoming', price: 190 } let d = new Proxy(o,{ get (target,key){ if(ke ...
- 神秘常量0x077CB531,德布莱英序列的恩赐
本文发布于游戏程序员刘宇的个人博客, 转载请注明来源https://www.cnblogs.com/xiaohutu/p/10950011.html 某天我在优化游戏的算法,在将一个个关键数据结构优化 ...
- 深入学习MySQL 03 Schema与数据类型优化
Schema是什么鬼 schema就是数据库对象的集合,这个集合包含了各种对象如:表.视图.存储过程.索引等.为了区分不同的集合,就需要给不同的集合起不同的名字,默认情况下一个用户对应一个集合,用户的 ...
- 学习 解决用户验证、单点登录、api访问控制的开源框架 的 十月 第一弹:
step one 去饭 源码 ps :https://identityserver.io/ 这个官网. ps: https://github.com/IdentityServer 这是 源码网
- 指定表单使用的路由 Specifying the Route Used by a Form
- export 和 export default 的区别
export命令用于规定模块的对外接口. 一个模块就是一个独立的文件.该文件内部的所有变量,外部无法获取.如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量.下面是一个 ...
- Object类、常用API_2
主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 学习目标 -[ ] 能够说出Object类的特点 -[ ] 能够 ...
- NOde.js的安装和简介
1.nodejs的安装 1.1 检测nodejs的版本 node -v (version:版本) 1.2 path配置nodejs 的环境变量(当前版本都是自动安装配置环境变量)指令: path 1. ...