linux笔记一

linux每个命令没详细的记录,只是大概记下,方便自己有时间看看,敲下命令

1、bash优点:
命令记忆功能(默认记忆1000条,通过history命名查看,默认记录用户目录下.bash_history目录中)
档案对比补全功能:指定补全,文件名补全(如果匹配内容唯一,按一下tab键自动补全命令或文件名,如果匹配内容不唯一,则按两下会显示所有匹配内容)
命名别名(alias)设定功能(通过alias设置命名别名,如果命令前加\,则不使用命令别名,unalias取消命名别名)
作业控制(jobs)、前后台控制
Shell scripts的强大功能
通配符*?等
2、type命令:
格式:type [options] name
不加参数:显示命名是外部命令还是bash内置命令,或命名别名
-t:file表示外部命令,alias表示为命令别名,builtin表示bash内置命令
-a:除了显示命令类型,还显示命令所在的路径
3、变量
echo $变量名
echo $PATH (在linux中,大写的变量一般为系统预定义的变量)
系统通过预定义环境变量来定义shell的环境,env显示系统中主要的预定义变量内容,set可以将环境变量和用户自定义的变量内容显示出来
root用户命令前提示符是#,普通用户命令提示符是$
通过set命令查看,有个ps1,该内容对应为:图中[email protected]的内容 。通过PS1=‘[\[email protected]\h \t]:\w\$‘设置ps1,其中ps必须大写,等号两边不能有空格,效果如图
4、查看当前系统支持的字符集命令:locale,通过LANG=zh_CN:UTF-8修改当前系统支持的字符集
5、source或.后面跟环境变量文件,就可以将环境变量中更改的内容得到真正更改
6、bash shell系统设定值在/etc/profile和/etc/bashrc文件中,个人设定值在用户家目录内的.bash_profile和.bashrc文件中,用户家目录内.bash_logout文件中存放设定注销shell时系统将要做的事情。
7、stty -a查看终端信息,其中包含一些快捷键使用,如输入命名后想全部去掉输入另外一个命令可以使用ctrl+u删除整行命令,此快捷使用对应stty -a中的kill,ctrl+w删除前面的一个单词
8、重导向redirect:就是将目前的所得数据输出到其他地方去
三种输出输入的状况,分别是:
标准输入stdin:代码为你0,使用<或<<
标准输出stdou:代码为1,使用的方式为1>或>>,其中1可以省略
错误输出dtderr:代码为2,使用的方式为2>或2>>
find /path -name filename 1> rightfile 2> errfile 查找path下filename文件,找到了则将filename文件的名称写入rightfile文件中,如果没找到,则将错误信息写入errfile文件中
同时写入同一个档案
find /path -name filename 1>fileresult.txt 2>&1等价于find /path -name filename > fileresult.txt 2> fileresult.txt ,如果用重定向有的结果是我们已经知道的,不需要保存时,可以将结果输出到/dev/null中将结果丢掉
9、命令执行判断依据: ;、&&和||
command1;command2:用分号表示不管command1执行结果如何,command2都会被执行
command1&&command2:表示command1执行成功才执行command2
command1||command2:表示command1执行错误才执行command2
10、管道命令
管道命令("|")只能处理通过前一个命令传来的正确信息,也就是标准输出(stdout)的信息,对于标准错误信息,没有处理能力。
11、cut命令,将一段内容,选取其中一部分的命令
last | cut -b 3-6 :截取每行3到6位字节
last | cut -c 3 :截取每行第三位字符(对于字节-b和-c效果一样,但是对于中文,则-b会出现乱码)
cat /etc/passwd | head -n 5 | cut -d : -f 1,3-5,7 :-d与-f一起使用,意思是:以“:”作为分隔符进行分割后,显示第一、第三道第五和第七个元素,类似java的split后,显示第一、第三、第四、第五和第七个元素
12、grep命令,grep分析一行信息,若其中有需要的信息,就将这一行信息显示出来
命令格式:grep [-acinv] ‘搜索字符串‘ filename
-a:将二进制文件以文本文件的方式搜索数据
-c:计算找到‘搜索字符串’的次数
-i:忽略大小写
-n:顺序输出行号
-v:反向选择,即显示没有“搜索字符串”的那一行
使用[]搜索字符,^在字符集合符号[]之内代表反向选择,在[]之外则代表定位在行首
行首与行尾字符^$,前者表示以某字符为行首,$表示以某字符为行尾
任意一个字符.(绝对有一个字符,不是0个或多个,而是恰好一个字符,使用过程中需要使用\进行转义)与重复字符*(前面的字符是0个或多个)
限定连续重复字符范围{}
[range]:搜索包含range的行
[^range]:搜索不包含range的行
\{n\}:重复前一个相同字符n个
\{n,m\}}:重复前一个字符n-m个
\{n, \}:重复前一个字符n个以上
grep命令中*代表0到无限多个字符,但是在正则表达式中,是重复前一个字符0到无限多个的意思,不能弄混了
13、sort命令,用于排序
命令格式:sort [-fbMnrtuk] [filename or stdin]
last | cut -b 1-2 | sort -u : 去掉结果中重复的内容
cat test2.txt | cut -c 1-2 | sort -u -o test2.txt :如果排序后想将结果输出到同一个文件中,则需要使用-o,此处使用重定向是不行的。
sort -t : -k 3 test2.txt : 以":"作为分隔符,分割后,按第三个元素进行排序
14、uniq命令,用于报告或删除文件中重复的行
命令格式:uniq [-ic]
cat /etc/passwd | cut -c 1-2 | uniq -i : 忽略大小写,去掉重复行
cat /etc/passwd | cut -c 1-2 | uniq -c : 显示重复行出现的次数
cat /etc/passwd | cut -c 1-2 | uniq -u : 只显示出现一次的行
15、wc命令,统计文件里面有多少单词,多少行,多少字符。
命令格式:wc [-lwm]
cat /etc/passwd | cut -c 1-3 | uniq -i | wc -c :统计有多少个字节
cat /etc/passwd | cut -c 1-3 | uniq -i | wc -m :统计有多少个字符(对于中文文件)
cat /etc/passwd | cut -c 1-3 | uniq -i | wc -l :统计有多少行
16、tr命令,可以用来删除一段信息当中的文字,或者进行文字信息的替换,如:echo $PATH | tr -d ‘:‘
echo $PATH | tr -s ‘:‘ ‘|‘ tr -d ‘[a-z]‘ ‘[A-Z]‘ < test1.txt
cat test2.txt | tr -d ‘a‘ : 删除所有字符a
cat test2.txt | tr -s ‘a‘ : 如果有重复连续的出现字符a,则保留第一个a,即将连续重复的字符a压缩为一个a如aa,则只保留一个a,如果是aba,则还是aba
cat test2.txt | tr -s ‘a‘ ‘b‘:将a替换成b,最后将连续重复的b压缩为一个b。
17、col命令,
格式:col [-x]:将tab键转换成对等的空格键
18、expand [-t] file
将tab键换成8个空格键,-t后接数字n,将tab键换成对应个数的空格键
19、join命令,“将两个文件中指定栏位相同的行连接起来”,即按照两个文件中共同拥有的某一列,将对应的行拼接成一行
格式:join [options] file1 file2
join test4.txt test5.txt -t , -1 1 -2 2 : 将test4和test5用“,”分割后,通过test4的第一列和test5的第二列进行关联
20、paste命令,paste指令会把每个文件以列对列的方式,一列列地加以合并。
paste test2.txt test3.txt : 将test2和test3两个文件一行行进行合并,第一个文件(test2)的第一行在前面
21、split命令,将文件进行分割
split -l 100 test.txt out : 把test.txt每100行输出一个文件outaa,outab,outcd以此类推。。。实现了文本文件的分割。
split -b 100k test.txt out : 把test.txt每100KB输出一个文件outaa,outab,outcd以此类推。
22、xargs命令,xargs是一个非常强大的命令,可以取一个命令的输出作为另一个命令的参数.在一般使用过多参数的命令替换失败的时候,用xargs来替换它一般都能成功
file test* | xargs vi : 查找当前目录下以test开头的所有文件,并进行编辑,此处用xargs命令一次打开多个文件

时间: 2024-10-23 08:11:51

linux笔记一的相关文章

linux笔记 文件的压缩与解压缩gzip、bzip2、xz、zip&unzip、tar打包、tar打包和压缩并用

压缩文件意义节省网络传输带宽,降低磁盘使用率.但会使用一定的cpu. 1.gzip 不支持压缩目录,gzip后直接跟文件名,在当前目录下压缩时,原文件会消失. #gzip filename 指定压缩目录:#gzip -c 123.txt > /tmp/123.txt.gz 将当前目录下123.txt文件压缩到tmp目录下名字为123.txt.gz 解压缩:#gzip -d file.gz #zcat file.gz  查看.gz文件内容 2.bzip2 不支持压缩目录,bzip2后可直接跟文件名

辛星整理的三本linux笔记,免积分下载,希望对您有所帮助

废话不多说了,第一本是我在看李明老师的视频的时候的笔记,全书大约116页,在csdn上的下载地址为:点我下载 ,如果左边的地址崩溃了,也可以在浏览器中输入如下地址然后下载:http://download.csdn.net/detail/xinguimeng/7757985   在百度网盘上的下载地址为:点我去百度网盘,如果左边的地址跪了,也可以在浏览器中输入如下下载地址进行下载:http://pan.baidu.com/s/1pJBdc8N  . 第二本是我在看韩顺平老师讲linux的时候的笔记

linux笔记之grep使用

1.问:grep.egrep是什么? 答:grep是文本搜索工具,grep是根据用户指定的'模式(pattern)'对目标文本进行过滤,显示被模式匹配到的行. 2.问:grep.egrep中用户指定的'模式(pattern)'是什么?分为几类? 答:grep中用户指定的'模式'是一种由特殊字符组成的具有某种特定意义的表达式,我们称为正则表达式,其中的特殊字符我们称为元字符.正则表达式分为:基本正则表达式.扩展正则表达式. 3.问:grep.egrep的使用格式是怎么书写的? 答:grep的使用格

【Linux笔记】cd无法进入xargs管道输出的目录

今天在写shell脚本的时候,想用cd进入xargs管道输出的目录,但是提示报错.详情如下: [环境描述] 目录结构: [[email protected] nagiosclient_db]# ls -ltr total 2488 -rw-r--r--.        1     root   root    405725   Mar  3 14:12   nrpe-2.12.tar.gz -rw-r--r--.        1     root   root    2095419 Mar 

Linux笔记常规部分总结(待续)

Linux笔记常规部分总结 shell: 子shell bash--bash bash: 1.命令历史.命令补全 2.管道.重定向 3.命令别名 4.命令行编辑 5.命令行展开 6.文件名通配 7.变量 8.编程 命令行编辑: 光标跳转: ctrl+a:跳到命令行首 ctrl+e:跳到命令行尾 ctrl+u:删除光标至命令行首的内容 ctrl+k:删除光标至命令行尾的内容 ctrl+l:清屏 命令历史: 查看命令历史:history -c:清空命令历史 -d OFFSET [n]:删除指定位置的

Linux笔记之Makefile

规则: 目标 : 依赖 命令 make是如何工作的: (1)make在当前目录下寻找makefile或Makefile. (2)如果找到,他会寻找文件中的第一个目标文件(target),并把这个文件作为第一个目标. (3)如果目标文件不存在,或者目标文件所依赖的.o文件修改时间要比目标文件新,那么,就会执行后面所定义的命令来生成目标文件. (4)如果目标文件所以依赖的.o文件也存在,那么make会在当前文件中寻找目标为.o文件所依赖性,如果找到则再根据这一规则生成.o文件.(这有些像堆栈的过程.

Linux笔记之终端日志记录工具script

在学习Linux时,有时候终端的打印消息对于我们非常重要,但是终端显示也是有一定的缓冲空间的,当打印信息非常多时,前面的信息就会被覆盖掉,所以这里网上搜索了一下这方面的介绍,现总结如下: script 是一个非常使用的工具,同时也足够的好玩.script 能够将终端的会话过程录制下来,然后使用 scriptreplay 就可以将其录制的结果播放给他人观看.script 的好处就在于,你在终端中的所有操作过程,它都可以原原本本地进行录制.我们可以将这种录制应用在很多方面,诸如教学.演示等等. 一般

linux笔记(实验环境搭建)

磁盘和分区 硬盘分区有主分区.扩展分区和逻辑分区之分.一块硬盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分区来替换,且一个硬盘只能有一个扩展分区,在这个扩展分区内可以划分多个逻辑分区. 磁盘设备名称如下: — 系统的第一块IDE接口的硬盘称为/dev/hda以此类推.分区则使用数字编号表示.如:/dev/hda1  /dev/hdb2 — 数字编号1~4留给主分区或扩展分区使用,逻辑分区编号从5开始. — SAS/SCSI/SATA/USB接口硬盘的名称均以/dev/sd[a-p]

【03】Linux笔记

Linux 笔记 装机必备 立刻关机 sudo shutdown -t now 设置fish为默认shell chsh -s /usr/bin/fish 安装ssh服务 sudo apt install sshd 让你的sudo输错密码的时候嘲讽你 sudo visudo 然后在配置中加入如下一行: Defaults insults 安装ss-qt5 sudo add-apt-repository ppa:hzwhuang/ss-qt5 sudo apt install shadowsocks-

初识linux笔记

回环地址lo 摘自百度 三种网络模式 1.4-1.6  三种网络模式详解.note 由于linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费.那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有vmware workstations和virtual box等.在使用虚拟机软件的时候,很多初学者都会遇到很多问题,而vmware的网络连接问题是大家遇到最多问题之一.在学习交流群里面,几乎每天都会有同学问到这些问题,写这篇详解也是因为群里童鞋网络出故