帮助

type [cmd] 查看命令类型(内置?外置?)

help [cmd] 查看内置命令帮助

man [cmd] 查看外置命令帮助

挂载磁盘

mount /dev/disk1 /etc/video        ->  向 /etc/video 挂载磁盘disk1

Linux文件 -> 所有对象皆文件

文件结构

树状结构,可以使用mount来向文件夹挂载一些磁盘

文件类型-- bcdlsp

-  none, 普通文件

b  block, 块设备文件,读写以块进行(DMA?),无流,通常支持随机访问,如U盘

c char, 字符设备,读写以字符进行,有流,通常不可随机访问,如键盘

d  dir, 目录文件

I  link, 连接文件

s  socket, 字连接(主要用于网络通信)

p  pipe, 管道文件(主要用于进程通信相关)

进程

ps -ef查看进程

进程位于 /proc/ 下

$$ 是当前进程PID

二级目录信息

/bin -> 可执行文件

/boot -> 引导分区

/dev -> 设备信息

/etc -> 配置文件

/home -> 工作目录

/lib(64) -> 运行类库

/mnt -> 挂载的磁盘

/opt -> 建议将软件安装在opt里面

/proc -> 进程的信息

/root -> root的工作目录

/run -> 运行时的各种变量放在这里

/sbin -> root级别用户可执行的程序

/srv -> 系统服务启动之后需要的数据

/sys -> 系统文件

/tmp -> 临时文件

/usr -> 用户的应用程序和文件放在这里,全称 Unix Software Resource

/var -> 变量和日志文件

/media -> 各种介质

*.d -> 默认文件,依赖文件,动态文件

文件操作

文件的物理数据区域通过Inode进行标识,通过“入口”进行增删改查

cd -> change dir

pwd -> process work dir

ls -> 各种别名操作在alias里面有

mkdir/rmdir -> 不解释了
        mkdir -p(parent) a1/{a1_1,a1_2,a1_3}        ->        同时创建a1和其下的三个子文件夹

cp -> copy
        cp -r(recursive) -i(interactive)

mv -> move剪切,可以用于重命名
        mv -i(interactive)

stat -> 文件信息查看
        Access(最近访问)进行过read操作的时间
        Modify(最近更改)进行过write操作的时间
        Change(最近改动)更改过其元数据的时间

touch -> 可以创建文件,使用nano也行
        touch文件的话,进行了read和write操作,以及访问了元数据,故文件的三时间都会同步

chmod -> change mod

ln -> 连接(快捷方式)
        ln -s abc linkOf_abc -> 建立abc的软连接linkOf_abc
                软连接:通俗意义的快捷方式
                硬链接:是一个业务镜像,即一个接触到同一个内存区域(Inode标识一致)的“入口”

rm -> remove 删除文件的“入口”,当一个文件没有“入口”,则该文件将被系统逻辑抹消(找不到了嘛)
        
rm -r(recursive) -f(force) 目录

hjys:jys数据的硬链接,是一个“入口”
jinyesi :jys数据的"入口",是创建文件分配完内存空间后自动创建的一个硬链接
sjys:是jinyesi入口的一个快捷方式,是该快捷方式的“入口”

cat / tac :cat把文件按行号由小到大输出,tac将文件按行号由大到小输出

more:单屏分页显示,回车显示一行,空格显示一页,b回退一页,h呼出提示,q退出

less:功能比more更强大,h呼出提示

head/tail:查看文件的前xx行
        head -10 1.txt        ->        显示文件的前10行
        head -10 1.txt | tail -2        ->         显示1.txt的第9、10行
        tail -f 1.txt         ->        通过监控文件的Inode的方式实时展现1.txt的末尾数据变化,文件本身变动后将无法跟踪
        tail -F 1.txt        ->        通过监控入口名字的方法实时展现1.txt的末尾数据变化,主动获取数据,因此文件本身删除重建后依然可以跟踪数据

find [dir] -name a*a        ->        在[dir]里面查找以a开头和a结尾的文件
        find / -name xxx        ->        全局搜索一个名为xx的文件

vi-vim:文件编辑

史上最全Vim快捷键键位图(入门到进阶) | 菜鸟教程 (runoob.com)

键位图

vim +n 1.txt        ->        打开的同时定位到第n行,若n没有指定,则定位到最后一行

vim +/xxx 1.txt        ->        打开的同时定位到第一次出现xxx的地方,按n查找下一个

vim有3中模式:
进入文时的编辑模式,有快捷键
编辑模式键入i进入输入模式,此时即为普通编辑器,此模式下按esc返回编辑模式,a追加,I行首
编辑模式键入:进入命令模式
编辑模式键入R进入替换模式

i:在光标所在字符前开始插入(insert插入)
a:在光标所在字符后开始插入(追加)
o:在光标所在行的下面另起一新行插入(other另起)
s:删除光标所在的字符并开始插入(这玩意是个啥?)
I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入
A:在光标所在你行的行尾开始插入
O:在光标所在行的上面另起一行开始插入
S:删除光标所在行并开始插

编辑模式命令:

光标:I光标后边的字符即为当前光标下选中的字符,也就是方形光标内的字符

[num]gg:跳转到第[num]行,没有[num]则跳到第一行

G:跳转到最后一行

[num]dd:向下删除[num]行,包括本行,如果没有指定[num]则默认向下删除一行

D:清空本行,和dd的区别是dd会包括本行转行符号在内,D保留空行

[num]w:光标向后跳过[num]个单词,包括本单词,移动到之后的单词的开头
        [num]dw:向后删除[num]个单词
        [num]yw:向后复制[num]个单词
        W:一样的

[num]yy:向下复制[num]行,包括本行
        Y:向上复制,包括本行

[num]x:剪切后[num]个字符,包括本字符
        X:向前,其它同上

[num]p:粘贴[num]次
        P:向上粘贴

[num]r:向后替换[num]字符为输入字符,包括本字符
        3r a:替换后面3个为a字符
        R:进入替换模式,esc退出,感觉是由插入比较另类,因为一般来讲是不会向后移动光标符号的

[num]s:向后删除num个字符,并进入编辑模式
        S:向后删除num行,保留一个空行,并进入编辑模式

u:undo
        U:仅仅退回到上一步,再按就是退回前的那步了

hjkl:左下上右

^/$:行首字符/行尾字符【正则表达式???】

-0+:负即上一行行首,0即这一行行首,正即下一行行首

():“(”为文件首,“)”为文件尾

ZZ:保存并退出

ctrl+s/ctrl+q:锁屏/解锁(没玩明白)

:s/1/2    搜索当前行第一个1并用2代替      search

:s/1/2/g  搜索当前行所有的1并用2代替      global

:#,#s/1/2/g    在#,#间搜索所有1并用2替换

:%s/1/2/g      在整个文档中将1替换为2     100%(全部)

:s/1/2/c    每次替换都给出提示确认        cue提示

命令模式命令:

:进入命令模式

set nu/nonu:显示行号/不显示行号

w:写入

q:退出

!:强制执行

/xxx:查找xxx,n向下,N向上

s/xxx/yyy/:替换该行的第一个xxx为yyy
        s/xxx/yyy/g:替换该行所有的xxx为yyy
g/xxx/s//yyy/:替换所有行的第一个xxx为yyy
        g/xxx/s//yyy/g:替换全局所有的xxx为yyy

文件传输

linux--linux:scp -r(recursive) [文件] [目录]         ->        文件可以是本地文件也可以是远程文件,目录同

文件大小

df(display fileSystem) -h(human)       ->        文件分区信息(以人类可读形式输出)

du(display fileSystemUsage) -h(human) --max-depth=1 /        ->        以人类可读的形式输出/目录下的大小信息,遍历深度1

文件压缩与解压缩

tar.gz解压        ->        tar -zx(gzip, extract)v(verbose)f(file) [压缩文件] [-C(Change dir) [解压目录]]

tar.gz压缩        ->        tar -zc(gzip, create)f(file) [压缩文件名] [原文件或目录]

zip解压        ->        unzip [压缩文件]

zip压缩        ->        zip -r(recursive) [文件或文件夹]

Linux网络

主机名称修改

hostname xxx        ->        临时修改为xxx

/etc/hostname        ->        永久修改hostname

/etc/hosts               ->        修改本地DNS解析信息

网络信息

ifconfig        ->        查看网卡配置信息,作用同ip addr

netstat        ->        查看网络connect状态socket连接
        netstat -a(all)n(numeric)p(programs)        查看所有socket信息,不解析名称,并显示程序

ping        ->        略

telnet        ->        查看ip的特定端口联通情况

curl        ->        以restful风格定位网络资源
        curl --help all        显示所有帮助
        curl -X <method> url -> curl -X GET http://www.baidu.com

防火墙

详情介绍见:Linux防火墙之iptables详解_别掉头发啦的博客-CSDN博客_iptables

熟悉iptables操作:iptables详解(图文)_董筱杰的博客-CSDN博客_iptables

主机间免密钥

登陆主机(A)要免密钥登录被登陆主机(B),简记为A->B

B中将A的公钥存放于/root/.ssh/authorized_keys,只要之在这里的公钥,都可以免密钥登录,反之,要想免密钥登录B,只要将自己的公钥放在B的这个位置即可

生成密钥

ssh-keygen -t(type) rsa -P(passpharse) '证书密码' -f(filename) ~/.ssh/id_rsa

拷贝公钥

ssh-copy-id -i(identity_file) ~/.ssh/id_rsa.pub root@B

(其实用cp也可以,就是你得记住路径)

Linux时间

date        ->        查看时间
        date -s(set) xxxx-xx-xx xx:xx:xx        ->        设置时间为xxxx年xx月xx日xx时xx分xx秒

hwclock        ->        查看硬件时间
        hwclock -w        ->        写入时间到硬件

ntpdate [服务器]        ->        将时间和该服务器同步,可以选择cn.ntp.org.cn进行时间同步

Linux用户与组

用户的增删改查

用户信息在/etc/shadow

useradd [username]        ->        创建用户

userdel -r(remove) [username]        ->        删除用户

usermod        ->        修改账户
        usermod -l(login) [老名] [新名]        ->        修改登录名称,不会修改家和组名称
        usermod -L(lock) [username]        ->        锁定用户
        usermod -U(unlock) [username]        ->        解锁用户
        su [username]        ->        转换用户
        usermod -g test2 test        ->        将test2作为test用户的主组
        usermod -G test2,root test        ->        将test2和root作为test的附属组
                注意:-g将替换现有主组,-G替换现有的所有附属组

cat /etc/shadow        ->        查找用户

密码增删改查

密码文件在/etc/passwd
        用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

passwd [username]        ->        更新username的密码

passwd -d(delete) [username]        ->        删除密码

passwd -e(expire) [username]        ->        使密码过期

cat /etc/passwd        ->        查找密码

组的增删改查

组文件在/etc/group
   组名:口令:组标识号:组内用户列表

groupadd [username]         ->        创建组

groupmod -U(users) usename [group_name]        ->        将username添加到groupname里面,该group作为该username的附属组

groupdel [username]        ->        删除组本身,注意,如果这个组时某个用户的主组,那么将无法删除,须先删除该组的主成员,才能删除该组,如果该组的主用户删除后为空,则该组删除

groupmod -n(new_name) [new_name] [old_name]       ->        将组名改为新名字

cat /etc/group        ->        查看组信息

groups [username]         ->        查看username的组及成员,默认当前用户的组
        结果格式为A:B C        ->        表示A用户在B和C两个组里面

**需要注意的是:usermod的主体是user,故username放在最后,以-g-G引入组名,groupmod的主体是groupname故将groupname放在最后,以-U引入用户名

Linux权限

ls查看文件时,看到

d/xxx/xxx/xxx root root:d代表dir目录,第一个时是拥有者权限,第二个是所属组权限,第三个是其他组。第一个root是所有者,第二个是其所属组

修改权限chmod        ->        change mod
        用法:chmod 3位2进制数的10进制表示(如777) username

修改所有者chown        ->        change owner
        用法:chown user:group [文件]

Linux管道与重定向

管道:将结果变为一个临时的文件,放在后面例如        [command] | grep xxx

重定向:改变数据输出的位置
        0> --input        1> --ouput(可省略为>)        2> --err 
        注意,这里的input和output是根据运行程序来说的,output即输出到文件

> --覆盖        >> --追加
        即写入到文件时会不会擦除原先的东西

[cmd] >(>>) [file] 2>&1        ->        无论是正确的还是错误的信息,都发送到file中

可以向黑洞/dev/null/里面丢数据
[cmd] >> /dev/null 2>&1

tty        ->        显示你的终端设备文件在哪,可以向这里输出信息

Linux进程

前台进程

进程位于/proc/中,每个文件夹以PID命名,存放进程运行的上下文

查看进程:ps -efaux 或者 ps -faux 或者 top
        PID--process id
        PPID--parent process id
    ps -e(all precesses) -f(forest) -a(all) -u(user-orented format) -x(process without controling tty)
    top        ->        实时的

杀死进程 kill -9 [PID]

后台进程

创建后台进程:将输出和错误重定向,在使用&脱离即可

[cmd] >>[file] 2>&1 & 即可
        例如 ping 192.168.0.1 >> abc 2>$1 &

nohup(no hung up) [cmd]        ->        后台进程可以和终端进程脱离,使得终端结束后后台进程可以维持运行状态

删除后台进程:kill -9 [PID]即可,前后端通用

查询后台进程:jobs -l(list),注意,非本终端执行的命令是查不到的,需要用ps -efaux查看

Linux工具命令

cut

主要用于文件内容的切割显示

cut -d(delimiter) ':' -f(field) 1,2,3 a.txt        ->        将a.txt的内容按照:进行分割,并且去前3列输出

sort

对某个文件排序

sort -t(separator) ':' -k(key) -r(逆序) -n(如果是数字,就按照数字大小来比较,而非默认的字符比较) a.txt        ->        在文件a.txt中使用:进行分割,分割玩之后对某列逆序排序

wc

word-count,统计单词数量

wc [file]

结果: xx                xx                xx                [file]

解释:行数        单词数量        字符数量        文件名

单词是以空格作为分界的

grep

grep xxx [file1] [file2]...        ->        在file1和file2上找xxx

grep -n xxx a.txt        ->        显示a.txt中xxx所在的行号

grep -E(expression) "xxx" a.tzt        ->        使用正则表达式匹配

sed--Stream editor

流式处理文件内容

Linux实战教学笔记12:linux三剑客之sed命令精讲 - 陈思齐 - 博客园 (cnblogs.com)

Linux学习笔记【BV1zL411T7YY】相关推荐

  1. linux rcs文件中的ip,linux学习笔记之diff和patch命令

    关键字:Linux 学习笔记 运维 系统 命令 一.命令的功能 diff命令的功能为逐行比较两个文本文件,列出其不同之处.可是做成diff记录也就是补丁. patch就是利用diff制作的补丁来打到文 ...

  2. (零)我为什么要写Linux学习笔记?

    我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...

  3. linux添加自己的库,Linux学习笔记——例叙makefile 增加自定义共享库

    Linux学习笔记--例说makefile 增加自定义共享库 0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己 ...

  4. Linux 学习笔记之超详细基础linux命令 Part 3

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 2----------------- ...

  5. Linux学习笔记(二)|常用命令

    Linux学习笔记(二)常用命令 1.文件处理命令 1.1命令格式与目录处理 -ls 功能描述:显示目录文件 原意:list 所在路径:/bin/ls 语法: ls-a 显示所有文件,包括隐藏文件 l ...

  6. Linux学习笔记(一)|目录结构

    Linux学习笔记(一) #一.Linux的目录结构 Linux采用层级式的树状目录结构,根目录为"/",在此目录下创建其他目录. /lib 系统开机所需要最基本的动态链接共享库 ...

  7. 20155303狄惟佳预备作业三Linux学习笔记

    20155303狄惟佳预备作业三Linux学习笔记 初次接触Ubuntu系统以及Linux内核,了解了其产生的历史,从感性来讲,深深吸引我的是其中蕴含的珍贵的开源精神,以及Stallman等人对&qu ...

  8. Linux学习笔记-文件权限与路径

    Linux学习笔记-文件与目录 目前从电子信息科学与技术转到了计算机专业,因此想趁着大四比较闲的时候补一些计算机的知识.我想说:你好,生活[斜眼笑]!愿生活温柔以待!哈哈,这是我写的第一篇博客,谨以此 ...

  9. LINUX学习笔记共五部分

    LINUX学习笔记1--LINUX系统命令 1.         界面切换: a)         进入字符界面:按住ctrl+alt+F1: 1.         首先需要进入用户登入,输入用户名和 ...

  10. linux 串口信息记到日志,[linux学习笔记]之一:ubuntu ch340调试备忘

    [linux学习笔记]之一:ubuntu ch340调试备忘 已有 2183 次阅读2016-11-8 21:52 |个人分类:linux 最近迷上了Linux,入了一块板.电脑使用win7+ubun ...

最新文章

  1. C# 8的Ranges和递归模式
  2. 每日阅读(产品) 汤道QQ与微信
  3. 我积累的数据库操作类(ASP.NET)
  4. 【thymeleaf】分页代码
  5. 容器学习 之 限制容器资源(十一)
  6. IllegalStateException: No WebApplicationContext found: no Co
  7. 两台windows服务器----SVN的迁移
  8. 不能用蛮力法解决的问题_专家教授叫嚣:中国7亿农民只有一身蛮力,对国家没有作用...
  9. installanywhere's LAX Properties
  10. 数学分析笔记4:一元函数微分学
  11. RobotFramework之Dialogs
  12. 安卓系统格式化SD卡
  13. 使用OTP动态口令(每30s变一次)进行登录认证
  14. python抢红包 无需电脑_Python助你秒抢红包,拼手速?不存在!
  15. 如何提升固定资产盘点效率
  16. iOS系统 查看设备序列号 获取UDID
  17. 地图经纬度坐标转换BD-09/GCJ-02/WGS84坐标转换
  18. seaborn做图技巧
  19. xml组合时间串解析
  20. 【计算机网络面试高频】-HTTP协议详解,HTTP协议常见问题

热门文章

  1. Vue2 computed中的setter
  2. 微信小程序配置Vant Weapp
  3. 大连理工大学linux集群,超算系统简易入门
  4. OpenCV图像像素遍历与访问
  5. springboot+vue+nodejs休闲娱乐电玩城网上售票系统java
  6. TSINGSEE青犀视频智能分析网关平台首页为何取消四分屏展示?
  7. 在Windows/Mac电脑上将CAF转换为AIFF的教程
  8. 怎么学好口才与各种人沟通交流?
  9. Python 三国演义文本可视化(词云,人物关系图,主要人物出场次数,章回字数)
  10. 【Python】 -- 使用jieba库实现对《三国演义》人物出场次数统计