一.linux试用

1.使用man或者info查询

2.超级简单的文本编辑器:nano

3.sync;数据同步写入磁盘,将内存中的数据写入磁盘

3.惯用的关机命令:shutdown

/sbin/shutdown[-t秒] [-arkhncfF] 时间[警告信息]    普通用户shutdown需要root权限

二.文件权限

1.以root身份登录linux,执行ls -al

会出现一大堆东西

第一列代表文件的类型与权限

第一个字符代表这个文件是目录,文件或者链接文件

d为目录 -为文件 l链接文件

后九个字符三个一组 分别表示文件所有者权限 同用户组权限 其他分本用户组权限

2.比较特殊的目录:

.代表此目录

..代表上一层目录

-代表前一个工作目录

~代表目前用户所在的家目录

~account代表account这个用户的家目录

三.vim编辑器

1.一般指令模式的按键:

(1)移动光标:

G移到这个文件的最后一列。

nG移到这个文件的第n列

gg移到文件的第一列

(2)搜寻与取代

/word 向光标下寻找名为word的字符串

?word向光标之上搜寻名为word的字符串

n 重复上一个搜寻动作

N为反向进行前一个搜寻动作。

:n1,n2s/word1/word2/g 在n1和n2列中寻找word1这个字符串,并将该字符串取代为word2

:1,$s/word1/word2/g 从第一列到最后一列寻找word1字符串,并将该字符串取代为word2

:1,$s/word1/word2/gc 从第一列到最后一列寻找word1字符串,并将该字符串取代为word2 ,取代前显示提示符给用户,是否要取代。

(3)删除,赋值与粘贴

x向后删除一个字符,X向前删除一个字符。

nx向后删除n个字符。

dd

ndd

d1G删除光标所在到第一列的所有数据。

dG删除光标所在到最后一列的数据

yy复制光标所在的那一列

nyy 向下复制20列

p,P p将已复制的数据在光标的下一列贴上。

u 复原前一个动作

ctrl+r重做上一个动作

.重复前一个动作

三.shell

什么是shell:可以操作其他应用程序接口的应用。

1.命令别名设定功能

alias **='**'

例如:alias lm='ls -al'.

2.type [-tpa] name 查询某个指令是不是bash内建指令。

3.指令太长一行打不下需要换行:/enter

什么是变量:其实就是变量。

4.变量的取用:echo

echo $变量

(1)可用转义字符\将特殊符号变成一般字符。

(2)在一串指令的执行中,还要籍由其他额外的指令所提供的信息时,可以使用反单引号[`指令`]或[$(指令)]

(3)若该变量为扩增变量内容时,则可用“$变量名称”或${变量内容}累加内容,如下所示:

PATH="$PATH":/home/bin 或PATH=${PATH}:/home/bin

单引号与双引号最大区别就是双引号仍可以保留变量的内容,但单引号内仅能是一般字符,而不会有特殊符号。

反单引号(`)的意义:在(`)之内的指令会先被执行,而其执行出来的结果将作为外部的输入信息。

如:ls -ld`locate crontab`

5.环境变量:

(1)env查看环境变量。

(2)PATH只是环境变量之一,PATH是执行环境搜寻的路径(就是记录可执行程序的目录,执行程序时会搜索PATH中程序的目录),目录与目录之间以(:)隔离,由于文件的搜寻是依序由PATH的变量内的目录来查询,所以目录的顺序也很重要。

(3)重要的变量(不是环境变量):

PS1:(提示字符的设定)

$:(关于本地shell的PID)PID:

(4) 环境变量与自定义变量的区别:该变量是否会被子程序引用。子程序会继承父程序的环境变量,子程序不会继承父程序的自定义变量。

export 变量名称   可分享自己的变量设定给后来呼叫的文件或其他程序。(即将变量变为环境变量)

(5)变量的键盘读取,数组与宣告:read array declare

从键盘读取变量: read [-pt] variable  -p后面可接提示符,-t后面可接等待的秒数。超过这个秒数就不再等待。

declare与typeset一样的功能:宣告变量的类型。

declare [-aixr] variable

-a 将后面variable定义为数组类型

-i int类型      ---------------------------变量类型默认为字符串,所以若不指定变量类型,1+2为一个字符串而不是计算式。

-x 将variable定义为环境变量   +x取消环境变量,变为普通的自定义变量。

-r readonly,该变量不能被更改内容,也不能unset

(6)变量内容的删除,取代与替换。

例:path=${PATH}

${path#/*local/bin:}  #表示从变量内容的最前面向右面删除,且仅删除最短的那个。

/*local/bin:代表要被删除的部分,由于#代表由前面开始删除,所以这里由/开始写起,通配符*取代0到无穷多个任意字符。

${path##/*:}删除最长的那个。

${path%:*bin} 从后删除最短的那个。  %%最长的那个。

取代:${path/sbin/SBIN}

关键是两个斜线,两个斜线中是旧字符串,斜线后是新字符串。

${path//sbin/SBIN}如果是两条斜线,就变成所有符合的内容都会被取代。

变量的测试与内容替换:echo ${username}

username=${username: -root}

判断username是否为空,如果为空则替换成root。

6.bash shell的操作环境:

1.路径与指令搜寻顺序:指令的运作顺序可以这样看:

(1)以绝对相对路径执行指令,例如/bin/ls或./ls

(2)由alias找到指令再执行

(3)由bash内建的(buildin)指令来执行

(4)透过$PATH这个变量的顺序搜寻到的第一个指令来执行。

2.bash的环境配置文件

bash在启动是时读取环境变量配置文件,login bash会读取这两个配置文件:/etc/profile这是系统整体的设定,最好不要修改   ~/.bash_profile或~/.bash-login或~/.profile 属于使用者个人设定,修改这里。

3.在数值的结算上

可以使用 declare -i var=${var1}*${var2}

或者var=$((运算内容))

4.利用test指令的测试功能

Linux学习——————基础篇的更多相关文章

  1. Docker虚拟化实战学习——基础篇(转)

    Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker   Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...

  2. Linux入门基础篇

    Linux入门基础篇 Linux诞生 Linux发行版本说明 Linux官方网站 Linux内核官方网站 比较有名的Linux发行版 虚拟机(Virtual Machine),一个虚拟的系统,安装在系 ...

  3. [转]C++学习–基础篇(书籍推荐及分享)

    C++入门 语言技巧,性能优化 底层硬货 STL Boost 设计模式 算法篇 算起来,用C++已经有七八年时间,也有点可以分享的东西: 以下推荐的书籍大多有电子版.对于技术类书籍,电子版并不会带来一 ...

  4. 二进制入门-打造Linux shellcode基础篇

    0x01 前言   本文的目的不是为了介绍如何进行恶意的破坏性活动,而是为了教会你如何去防御此类破坏性活动,以帮助你扩大知识范围,完善自己的技能,如有读者运用本文所学技术从事破坏性活动,本人概不负责. ...

  5. 小朋友学Linux<一>基础篇

    Linux最基础之<小朋友也能学会Linux>... 1.Linux 知识积累: Linux 英文解释为 Linux is not Unix.学习Linux必须要熟练使用的操作系统是Cen ...

  6. Linux学习初级篇-鸟哥的Linux私房菜 基础学习篇(第四版)

    0.1.2 一切设计的起点:CPU的架构 由于CPU的内部是有一些微指令组成的,所以我们所使用的软件都是要经过CPU内部的微指令集来达成才行.那这些指令集的设计主要又被分为两种设计理念,这是目前世界上 ...

  7. Bat 脚本学习 (基础篇)

    [转]Bat 脚本学习 2015-01-05 14:13 115人阅读 评论(0) 收藏 举报 基础部分: ============================================== ...

  8. ios学习基础篇一

    搜集的不错的oc学习资料 大概总结: http://my.oschina.net/luoguankun/blog/208526 详细教程: http://www.w3cschool.cc/ios/io ...

  9. Laravel学习基础篇之--路由

    终于还是决定再多学一门重量级框架,当然首选必备还是被称为最优雅的Web开发框架--Laravel 对于框架的入门,首先了解它的路由规则是先前必备的,以下是laravel 中几种常见的基础路由规则 // ...

随机推荐

  1. 分布式缓存技术redis学习系列(二)——详细讲解redis数据结构(内存模型)以及常用命令

    Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sor ...

  2. Git Merge Commit忘了选分支?数据丢失? 刚刚做的都丢失了?别急!

    1.打开终端,进入到对应的git 目录,也就是你的项目目录. 2.然后输入 git reflog,找到自己commit的版本 3.根据对应的编码输入指令,如:git checkout e53fa44( ...

  3. 字典树 - A Poet Computer

    The ACM team is working on an AI project called (Eih Eye Three) that allows computers to write poems ...

  4. 服务端的GET、POST请求

    一.HttpClient方式,程序集 System.Net.Http.dll GET: HttpClient httpClient = new HttpClient(); string result ...

  5. 【听说是线段树】bzoj1012 [JSOI2008]最大数maxnumber

    一眼看题目吓了一跳:这TM不就是单调队列吗,200000又怎样,大不了我二分嘛 系统提示:成功开启 手残模式 开始瞎写: #include <cstdio> ]; ]; int m,mod ...

  6. ubuntu14.04下安装ngnix,mediawiki,nodebb,everything,gitlab

    本周折腾了以下几个东西,mediawiki(维基),nodebb(论坛),gitlab(私有git服务器). 本来的目的是搭建一个wiki,选用了mediawiki后,使用apache搭建好了. 搭论 ...

  7. dede判断当前文章

    <li><a href="/info/info3.html"  class=s  >企业文化 </a></li><li> ...

  8. linux vps安装kloxo配置全部过程

    第一步如何登录Linux VPS进行远程(SSH)管理 很多人可能用过免费虚拟主机,但绝没有用过好用的免费服务器租用,仅有的少数免费服务器都只针对有较高访问量的大站(以交换广告为条件),而普通小站是无 ...

  9. css解决div的各种浏览器兼容性问题

    方法一: min-height:500px;/*解决ie8.9.ff.chromet*/ height:100%;/*解决ie6.7*/ _height:500px;/*解决ie6超出自动溢出*/ 方 ...

  10. mac安装tensorflow报错

    问题:mac安装tensorflow过程中,爆出oserror:permission denied 解决方案:关闭mac的sip,然后sudo安装 关闭sip的方法:重启mac,按住command+R ...