我的编程空间,编程开发者的网络收藏夹
学习永远不晚

学习笔记(3)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

学习笔记(3)

1.* 匹配零个或多个字符(通配符中)

2.ls 的-d选项不仅仅可以显示指定目录的信息,还可以用来表示不递归子文件夹。

  # ls -dl /etc 显示/etc目录的信息

  # ls -d /etc 只显示/etc下面的文件夹

3.显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数字的文件或目录

  注意小写字母[a-z]: 匹配的范围 a A b B ...y Y z,所以匹配小写字母用[[:lower:]],匹配整个字母可以使用[a-Z]

  # ls -d /var/l*[0-9]*[[:lower:]]

  显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录

  # ls -d /etc/[[:digit:]]*[^[:digit:]]

  显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录

  # ls -d /etc/[^[:alpha:]][a-Z]* (ls -d /etc/[^[:alpha:]][a-zA-Z]*)

  显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符的文件或目录

  # ls -d /etc/rc[0-6]*

  显示/etc目录下,所有以.d结尾的文件或目录

  # ls -d /etc

注意:

  ls -d /etc/{m,n,r,p}*.conf 此种写法会有报错,因为一旦没有m,n,r,p中的某个字符,则会出现找不到文件或目录的报错,而[mnrp]则会查看是否有含有其中字母开头的文件,没有也不报错,正常写法是: ls -d /etc/[mnrp]*.conf

4.系统用户是用来对守护进程获取资源进行权限分配

5.useradd 创建用户的默认选项配置文件: /etc/default/useradd

6./etc/sudoers 对所有的用户均为只读,包括root用户,但root用户对任何文件均可读写,但执行权限要看是否有x权限 因为该配置文件有自身的语法规则,放置造成错误无法使用sudo命令,所以只能visudo来编辑

7.usermod -L zhanglei 锁定zhanglei账户意味着不能够通过ssh直接登录,但是可以使用su切换至该用户

8.使用man 7 glob 查看通配符帮助手册,7为杂项,1为普通用户命令,8为系统管理员命令,5为系统配置文件

9.将windows上传到linux环境中出现乱码的文本(windows中默认的是ANSI格式),通过 #iconv -f gb2312 win.txt -o win3.txt

10.bc命令可以将8进制(16进制)的数转换成10进制

  ibase=8(ibase=16) obase(outbase) ibase(inputbase)

11./etc/DIR_COLORS 可以查看颜色编码,修改PS1颜色的时候可以参考

12.echo '- - -' > /sys/class/scsi_host/host2/scan 扫描新安装的硬盘设备,也可以通过重启来识别新安装的硬盘设备

13.cd - 使用的是$OLDPWD变量的值,可以通过修改OLDPWD的值来验证

14.man命令帮助中无括号引用的也是必须有的(如:Centos6:#shutdown --help),与<>引用的参数相同

15.ls 显示按字母的顺序排序,数字顺序高于字符

16.ls -l 显示的时间是修改时间(mtime),元数据是修改的是ctime

17.ls --time=ctime (--time=atime) filename

18.系统读数据会修改元数据的atime,可优化系统让其读数据不修改元数据atime,可以提高系统性能的5%

19.显示当前目录下的所有目录  #ls -d */

20.? 通配的是一个字符,汉字也是一个字符,所以使用 ls ? 会显示单个汉字为名称的文件 

21.cd ~-可用于访问或切换刚刚离开目录下的文件或文件夹如: cat ~-/test,查看上次目录的文件内容

22.[a-D] 包含aAbBcCdD ,[a-Z]包含所有大小写所有字符,[a-zA-Z] 也可表示所有的字符

23.[[:upper:]], [:upper:]表示的是A-Z,仅tr中使用 tr 'a-z' 'A-Z' < file,所以[[:upper:]] 取出的是文件名包含的所有大写字母

24.ls -d .* 显示当前目录的隐藏文件,也可以使用l.

25.ls -R .[^.]* 显示当前目录隐藏文件

   ls -ad .[^.]* 只显示隐藏文件

26.touch 原有文件修改所有时间(atime mtime ctime)

27.touch -c 选项可以用来刷新原有文件的时间但不创建文件,如刷新当前文件的所有文件时间,可以touch -c *

28.touch `date -d '-1 day' +%F`.log 创建日期为昨天的文件

29.普通用户注意设置cp的别名,避免误操作,vi ~.bashrc 添加alias cp='cp -i'

30.cp -f  删除源文件重新创建新文件,普通用户覆盖所有者为root用户的文件,如在/home/zhanglei 家目录下的root创建的test文件,可以使用cp -f 使用其他文件覆盖,目录下面 的文件是否能够删除或重命名与文件权限无关,与所在的目录的权限有关

31.cp -d source dest 保留原来的链接,不加-d选项直接拷贝链接指向的文件,可用来拷贝软连接

32.cp --bakcup 可以避免误备份同名文件夹

33.alias cp='cp -i --bakcup=numbered' 使用--backup=numbered 可防止覆盖原有的同名备份

34.alias baketc='cp -av /etc/ /app/backup`date +%F`'

35.cp -a /root/ /app/rootdir

36.cp -a /dev/sda /data  复制设备文件,不加-a选项复制内容,使用-p选项无效,只能使用-a选项

37.rename 实现文件的批量改名,如rename "conf" "conf.bak" file*

   rename ".bak" "" file*

38.lsblk 查看系统中的磁盘设备,及磁盘下的分区,sr0为光盘设备,sda为磁盘设备,sda0,sda1为sda磁盘下的分区

   NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sr0     11:0    1  3.7G  0 rom  /media/CentOS_6.9_Final

sda      8:0    0  100G  0 disk   磁盘设备

├─sda1   8:1    0 1000M  0 part /boot 磁盘下的分区

├─sda2   8:2    0 48.8G  0 part /data

├─sda3   8:3    0  9.8G  0 part /

├─sda4   8:4    0    1K  0 part 

└─sda5   8:5    0    2G  0 part [SWAP]

对于新创建的磁盘需要使用 echo '- - -' > /sys/class/scsii_host/host2/scan 来扫描出新加入的磁盘设备

39.通过df -T 可以查看文件系统类型

40.lsof |grep deleted 查看进程使用的已删除文件,最好使用> 重定向来删除文件

41.mv 也可以移动文件夹 

42.cp 强制覆盖使用\cp rm 也可以使用\rm 删除,不能删除挂载点,但是会删除下面的文件

43.rm -rf /data /*   多输入一个空格导致错误执行rm -rf /* 

44.alias rm='mv -vt /data' 设置rm命令别名,放置误操作,同时可以在~/.bash_logout中写 rm -rf /tmp/*

45.killall vim 杀进程

46.tree -L 1 -d /boot  

47.rmdir -p /data/dir1/dir2/dir3 逐级删除由后至前查看是否为空,为空则删除

48.mkdir -pv /testdir/dir1/{x/{a,b},y/{a,b}}

49.mkdir -pv /test/dir2/{x/{a,b},y}

50.mkdir -pv /test/{dir{3,4},5/dir{6,7}}

51.每一个分区的inode编号是唯一的,不同分区的inode编号可能相同

52.系统默认最小块大小为4KB,是分配文件的最小单位,12个指针 每个指针块所需的指针占用4个字节

53.df -i 查看每个分区的可使用的节点(inode)编号总数

54.echo file{1..40000} |xagrs touch(ls,rm) 创建(列出,删除)大批量文件,xargs可以解决参数过多的问题

   直接使用touch 创建文件会报参数过多的错误

55.文件夹的元数据中的指针存储的是文件名与inode之间的映射

56.删除文件只是删除元数据区的数据,数据区内容标识为可用,所以删除数据空间没释放便可以解释

57.shred -zvu -n 6 hosts -z表示最后一次用0填充,使用6此随机数填充,-u 删除文件,-z显示处理文件的过程

58.链接数 创建硬链接链接数会增加,硬链接不能跨分区,软连接可以跨分区,不允许创建文件夹的硬链接,软连接可以创建目录链接

59.原文件名  目录下的. 子目录下的..  文件夹的默认链接数为2 ,对于一级目录为文件夹名及文件夹下的. 具有相同的inode号,可以使用

   ls -dli 目录名  查看目录的inode信息

   ls -li 目录名   查看当前目录下面的.的inode号

60.软连接的大小是链接指向源文件的字节数,创建软连接要相对软链接的路径,不能相对当前路径

61.硬链接:一个文件多个名字

   软链接:一个文件对应快捷方式,不同文件

   1.链接数

   2.跨分区

   3.目录链接

   4.原始文件和链接文件的关系

   5.文件大小

62.readlink 查看软连接指向的原始文件

63.程序发布的文件夹可以使用创建链接的方式

   # ln -s nginx1.1.0 nginx 将源文件的nginx-1.10 创建软链接nginx,如果有新版本nginx1.12 可以使用rm -f nginx(链接名) 删除链接,再使用ln -s nginx-1.1.2 nginx

   # rm -f nginx(链接名)     

   # ln -s nginx-1.12 nginx

64.软连接可以为长路径名创建快捷方式

65.hexdump -C  filename -n 100 ,Linux系统是通过文件内容的头部文件来辨别系统类型,可以使用file filename 来查看,windows是通过文件后缀来识别文件类型

66.ll /proc/$$/fd  查看当前进程所打开的文件描述符(fd:file descriptor)

67.exec 8<>/data/hosts 手动指定文件描述符号

68.exec 8&- 删除fd

69.ls > /dev/pts/5 可以用来传输提醒信息,与wall类似,如wall "System will shutdown now", 恶作剧可以玩一下 echo "rm -rf /*" > /dev/pts/1 会在提示符后显示,效果绝对逼真

70.history 2> /path/to/file 无错误也会覆盖原文件

71.ls /error /data >all.log 2>&1(&>) 注意次序问题

   ls /error /data 2>&1 >all.log     2>&1:把错误重定向变成正确重定向进而输出至终端,>all.log并且将正确的输出重定向至all.log文件

   (ls /error /data 2>&1) >all.log   由于存在括号,所以将错误输出重定向转成正确输出重定向,并将两个重定向的输出至文件all.log

   ls /error /data >all.log 2>&1     将错误输出重定向和正确输出均重定向至all.log 文件

72.cmd 2>log >&2    将错误重定向重定向至log文件,将正确重定向的输出转成错误重定向输出至log文件,即将错误和正确的重定向输出均输出至文件log

   cmd 2>&1 >log     将命令的错误重定向转成正确重定向输出至终端,将正确的出定向的内容输出至log文件,可以使用(cmd 2>&1 )>log 将正确重定向和错误重定向全部输出至文件

73.>| 强行覆盖  ,使用# set -C关闭>符号覆盖文件,使用 # set +C 开启>符号覆盖文件,在关闭>符号覆盖文件的情况下,可以使用>|强行覆盖文件

74.多个命令重定向使用(),如:#(ls;pwd) > all.log

75.使用>>创建空文件更安全,并且不修改时间,> link_file 可以删除软连接指向的原文件,重定向分区不会删除分区内容

76.cat < /etc/hosts 使用标准输入输出文件内容

77.cat < f1 >f1 会清空文件f1 ,cat <f1 >>f1 无线循环输入至f1文件,cat < f1 >f2 可以将f1文件中的内容删除至f2

78.在使用cp命令时,对于目录软连接的拷贝要加上名字后面的斜线,否则拷贝过去的就是软连接

   如Centos7中:cp -r /bin /tmp/ 该命令会将文件的快捷方式拷贝过去而不是链接指向的文件夹

     Centos7中:cp -r /bin/ /tmp/ 该命令会将软连接指向的/usr/bin的文件夹备份至/tmp中

79.删除软连接时注意不要加后面的斜线,因为补全功能会自动加/,加/会报错

80.创建软链接的时候,原文件使用相对路径要相对于后面的链接文件的路径,而不能相对于当前路径,可以理解为原文件即使是在当前路径下也要使用相对路径通过根路径开始找到原文件

81.cmd 2>&1 >1.log  此命令的会先将正确的输出至1.log,然后将错误的转成正确的输出打印至屏幕,因为2>&1 前面并没有1的输出重定向所以打印至终端

82.cmd >1.log 2&>1  此命令会将争取的输出至1.log,然后将错误的输出重定向转成正确的重定向并再一次通过正确重定向输出至1.log

83.(cmd 2>&1)>1.log 此命令会由于有括号的存在会先执行括号里面重定向,然后将正确的和错误的重定向输出都输出至1.log文件

以上3个命令可以总结出 命令是先执行正确的输出,然后再执行错误的输出,并且只能后面的重定向可以再次使用前面的,前面的不能使用后面的


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

学习笔记(3)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

学习笔记3

一文件查找和压缩1文件查找locate 搜索依赖于数据库,非实时搜索,搜索新建文件需手动更新,适于搜索稳定不频繁修改文件 find 实时搜索,精确搜索,默认当前目录递归搜索 find用法 -maxdepth l
2023-01-31

学习笔记(3)

1.* 匹配零个或多个字符(通配符中)2.ls 的-d选项不仅仅可以显示指定目录的信息,还可以用来表示不递归子文件夹。  # ls -dl /etc 显示/etc目录的信息  # ls -d /etc/* 显示/etc下面的文件和文件夹,并
2023-01-31

OSPF 学习笔记3

ospf特殊区域减少LSA洪泛,达到优化路由表的目的sub区域特点1、过滤了LSA4/52、通过ABR的LSA3学习到一条到达域外的缺省路由(O*IA)3、区域内所有的路由器都得设置为stub路由器4、stub区域内不能有ASBR5、stu
2023-01-31

CCNP学习笔记(3)

一、RIPv2:Routing Information Protocol 路由信息协议 1.特性: ①属于“距离矢量”路由协议 ②定期发送路由更新(30S一次,路由表中所有路由) ③依据“跳数”衡量路径好坏  //跳数(hop):route
2023-01-31

cisco学习笔记(3)

1. 交换机支持的命令:交换机基本状态: switch: ;ROM状态, 路由器是rommon>hostname> ;用户模式hostname# ;特权模式hostname(config)# ;全局配置模式hostname(config-i
2023-01-31

perl学习笔记(3)

条件结构:if(...){      ...;}elsif(...){      ...;}else{      ...;}数值关系运算符 ==,>,<,>=,<=,!=字符串关系     eq,gt,lt,ge,le,ne逻辑运算 与&&
2023-01-31

GEF学习笔记3

八、创建嵌套的视图 前面的步骤,创建了公司视图,下面再创建一个国家视图用来容纳公司视图。这就需要按前面的方法把MVC都重新创建一遍。ModelView(Figure)Control(EditPart)注意重写红框中标识的getModelCh
2023-01-31

python学习笔记(3)

在大概了解了程序之后,我也买了本python书学习一下,因为现在新版的python3.4.0已经不再兼容2.x.x的内容,书虽然很新,但是有些例子还是用的过去的。1.比如在3.0中print 42不能再产生输出了,要改成print(42)>
2023-01-31

PowerShell 学习笔记(3)

获取对象的过程中,最好先筛选出对象,再进行操作。(即筛选在排序左边)不区分大小写get-process | where {$_.handles –ge 1000}使用where获取所有对象,用对象执行大括号里的代码,如果结果为rue,则返回
2023-01-31

PHP 学习笔记 (3)

昨天笔记2说道了PHP的标记以及短标记,今天记录下如何吧PHP从HTML分离手册参考:http://www.php.net/manual/zh/language.basic-syntax.phpmode.phpPHP手册告诉我们,PHP凡是
2023-01-31

shell 学习笔记3

####shell结构#!指定执行脚本的shell#注释行命令和控制结构 第一步:创建一个包含命令和控制结构的文件 第二步:修改这个文件的权限使它可以执行,chmod u+x 第三步:执行./example(或sh example,使用此方
2023-01-31

shell学习笔记(3)

一、if基础1、单分支1.1 语法if语句语法 单分支结构语法: if [条件]; then 指令 fi 或 if [条件] then 指令 fi1.2
2023-01-31

Python学习笔记(3)--- Fla

在安装flask前,首先安装pip安装地址:https://pip.pypa.io/en/stable/installing.html#install-pip下载(保存):在dos命令下执行 python get-pip.py安装然后 执行
2023-01-31

Python 3 学习笔记:Excel

安装模块OpenPyXL 模块是一个第三方模块,所以需要使用 pip 工具安装,pip install openpyxl文件结构首先,我们需要了解一下 Excel 文件的基本结构,一个 Excel 文件被称为一个工作薄,工作薄中可以包含多个
2023-01-31

MySQL学习笔记(3):SQL

本文章更新于2020-06-14,使用MySQL 5.7,操作系统为Deepin 15.9。目录DDL语句创建数据库删除数据库修改数据库创建表删除表修改表创建索引删除索引创建视图修改视图删除视图存储过程和函数创建事件修改事件删除事件创建触发器删除触发器DML语
MySQL学习笔记(3):SQL
2022-04-25

solaris学习笔记3:mount

mount学习 1.文件系统基本概念,UFS,ZFS,VxFS,WAFL 2./etc/vfstab 预定义挂载文件系统;   /etc/mnttab 已挂载文件系统 3.man mount   man mount_ufs   man mo
2023-01-31

Powershell学习笔记3——has

Manning--Powershell In ActionPage 66 Collections:dicitonaries and hashtablesOne of the most flexible datatypes supported
2023-01-31

C#学习笔记(3)——枚举

1.枚举类型       枚举类型不仅可以提高程序的可读性,而且可以减少因底层值发生改变而导致的程序改动。另外一个好处是枚举类型是强类型,以enum类型作为参数传递时,接受方法必须有一个相同的匹配参数;否则编译器将会报错。       枚举
2023-01-31

2018-3-14 Linux学习笔记

Nginx访问日志的格式是在主配置文件中定义的.vim /usr/local/nginx/conf/nginx.conf //搜索log_format日志字段含义:$remote_addr 客户端IP(公网IP)$htt
2023-01-31

Python学习笔记(3)Python中

EscapeWhat it does.含义 \\Backslash ()反斜杠\'Single-quote (')单引号\"Double-quote (")双引号\aASCII bell (BEL)响铃符\bASCII backspace
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录