加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹰潭站长网 (https://www.0701zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

unix命令 003-博学谷-年度钻石C++/C-Unix/Linux(2)

发布时间:2022-10-24 23:00:37 所属栏目:Unix 来源:未知
导读: 3. 常用命令3.1 概述
许多人可能在电视或电影中看到过类似的场景,黑客面对着黑屏,上面漂浮着密集的字符,然后一下子完成了窃取数据的任务。
[En]
Many people may have seen similar sce

3. 常用命令3.1 概述

许多人可能在电视或电影中看到过类似的场景,黑客面对着黑屏,上面漂浮着密集的字符,然后一下子完成了窃取数据的任务。

[En]

Many people may have seen similar scenes on TV or in movies, where hackers face a black screen with dense characters floating on it, and complete the task of stealing data with a bang.

Linux 刚出世时没有什么图形界面,所有的操作全靠命令完成,就如同电视里的黑客那样,充满了神秘与晦涩。

近几年来,尽管 Linux 发展得非常迅速,图形界面越来越友好,但是在真正的开发过程中,Linux 命令行的应用还是占有非常重要的席位,而且许多Linux功能在命令行界面要比图形化界面下运行得快。可以说不会命令行,就不算会 Linux。

Linux 提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。Linux 发行版本最少的命令也有 200 多个,这里只介绍比较重要和使用频率最多的命令。3.2 命令使用方法3.2.1 Linux 命令格式

command [-options] [parameter1] …

说明:

command:命令名,相应功能的英文单词或单词的缩写

[-options]:选项,可用来对命令进行控制,也可以省略,[]代表可选

parameter1 …:传给命令的参数,可以是零个一个或多个

3.2.2 查看帮助文档

1) –help

一般是 Linux 命令自带的帮助信息,并不是所有命令都自带这个选项。

如我们想查看命令 ls 的用法: ls –help

2) man(有问题找男人)

man 是 Linux 提供的一个手册,包含了绝大部分的命令、函数使用说明。

该手册分成很多章节(section),使用 man 时可以指定不同的章节来浏览不同的内容。

man 中各个 section 意义如下:

Standard commands(标准命令)

System calls(系统调用,如open,write)

Library functions(库函数,如printf,fopen)

Special devices(设备文件的说明,/dev下各种设备)

File formats(文件格式,如passwd)

Games and toys(游戏和娱乐)

Miscellaneous(杂项、惯例与协定等,例如Linux档案系统、网络协定、ASCII 码;environ全局变量)

Administrative Commands(管理员命令,如ifconfig)

man使用格式如下:

man [选项] 命令名

man设置了如下的功能键:

如,我们想查看 ls 的用法: man 1 ls ( 1:为数字”1″,代表第 1 个 section,标准命令 )

实际上,我们不用指定第几个章节也用查看,如, man ls。但是,有这个一种情况,假如,命令的名字和函数的名字刚好重名(如:printf),它既是命令,也可以是库函数,如果unix命令,我们不指定章节号,man printf,它只查看命令的用法,不会查询函数的用法,因为 man 是按照手册的章节号的顺序进行搜索的。

所以,使用 man 手册时,最好指定章节号:

3.2.3 使用技巧

1) 自动补全

在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令。

2) 历史命令

当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来。

3.3 常用命令3.3.1 文件管理

1) 查看文件信息:ls

ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。

Linux文件或者目录名称最长可以有256个字符,”.”代表当前目录,”..”代表上一级目录,以”.”开头的文件为隐藏文件,需要用 -a 参数才能显示。

ls常用参数:

图中列出的信息含义如下图所示:

与DOS下的文件操作类似,在Unix/Linux系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符。

2) 输出重定向命令:>

Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。

如: ls > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )

>输出重定向会覆盖原来的内容, >>输出重定向则会追加到文件的尾部。

3) 分屏显示:more

查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。

4) 管道:|

管道:一个命令的输出可以通过管道作为另一个命令的输入。

我们可以理解现实生活中的烟斗。把管子的一端塞进去,把另一端拿出来。这里,“|”的左右两端被分成两端,左端填充(写),右端取(读)。

[En]

We can understand the pipe in real life. One end of the pipe is stuffed in and the other is taken out. Here, the left and right ends of the “|” are divided into two ends, the left end is stuffed (write), and the right end is taken (read).

5) 清屏:clear

clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrl + l ( “l” 为字母 )。

6) 切换工作目录: cd

在使用Unix/Linux的时候,经常需要更换工作目录。cd命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感。

cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。

注意:如果路径是从根路径开始的,则路径的前面需要加上 ” / “,如 ” /mnt “,通常进入某个目录里的文件夹,前面不用加 ” / “。

7) 显示当前路径:pwd

使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。

8) 创建目录:mkdir

通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。

需要注意的是,新目录的名称不能与当前目录中的现有目录或文件同名,并且目录创建者必须具有对当前目录的写入权限。

[En]

It is important to note that the name of the new directory cannot have the same name as an existing directory or file in the current directory, and the directory creator must have write permission to the current directory.

9) 删除目录:rmdir

可使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,不然提示删除失败。

10) 删除文件:rm

可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。

常用参数及含义如下表所示:

11) 建立链接文件:ln

Linux链接文件类似于Windows下的快捷方式。

链接文件分为软链接和硬链接。

软链接:软链接不占用磁盘空间,源文件删除则软链接失效。

硬链接:硬链接只能链接普通文件,不能链接目录。

使用格式:

ln 源文件 链接文件

ln -s 源文件 链接文件

如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。

注意:如果软链接文件和源文件不在同一目录中,则源文件应使用绝对路径,而不是相对路径。

[En]

Note: if the soft link file and the source file are not in the same directory, the source file should use an absolute path, not a relative path.

12) 查看或者合并文件内容:cat

13) 文本搜索:grep

Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。

grep一般格式为:

grep [-选项] ‘搜索内容串’文件名

在grep命令中输入字符串参数时,最好引号或双引号括起来。例如:grep’a ‘1.txt。

常用选项说明:

grep搜索内容串可以是正则表达式。

正则表达式是操作字符串的逻辑公式,即由预定义的特定字符和这些特定字符的组合形成的“正则字符串”。此“常规字符串”用于表示字符串的过滤逻辑。

[En]

A regular expression is a logical formula for manipulating a string, that is, a “regular string” is formed by predefined specific characters and a combination of these specific characters. This “regular string” is used to express a filtering logic for a string.

grep常用正则表达式:

14) 计算文件行数或字数:wc

常用选项说明:

15) 查找文件:find

find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

常用用法:

16) 拷贝文件:cp

cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。

常用选项说明:

cp vim_configure/ code/ -ivr 把文件夹 vim_configure 拷贝到 code 目录里:

17) 移动文件:mv

用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。

常用选项说明:

18) 获取文件类型:file

Linux系统文件类型不是根据文件扩展名分类的,通过file命令可以确认文件具体类型。

19) 归档管理:tar

计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式

tar [参数] 打包文件名 文件

tar命令很特殊,其参数前面可以使用”-“,也可以不使用。

常用参数:

注意:除了f需要放在参数的最后,其它参数的顺序任意。

20) 文件压缩解压:gzip

tar与gzip命令结合使用实现文件打包、压缩。

tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。

gzip使用格式如下:

gzip [选项] 被压缩文件

常用选项:

tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar cvzf 压缩包包名 文件1 文件2 …

例如: tar zcvf test.tar.gz 1.c 2.c 3.c 4.c把 1.c 2.c 3.c 4.c 压缩成 test.tar.gz

解压用法: tar zxvf 压缩包包名

解压到指定目录:-C (大写字母”C”)

例子:tar -xvf new.tar.gz -C ./test/ 将 new.tar.gz 解压到当前目录下的 test 目录下:

21) 文件压缩解压:bzip2

tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。

tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.bz2。

在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar cjvf 压缩包包名 文件…(tar jcvf bk.tar.bz2 *.c)

解压用法:tar xjvf 压缩包包名 (tar jxvf bk.tar.bz2)

22) 文件压缩解压:zip、unzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。

压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

解压文件:unzip -d 解压后目录文件 压缩文件

23) 查看命令位置:which

Original:

Author: cml46679910

Title: 003-博学谷-年度钻石C++/C-Unix/Linux(2)

相关阅读Title: 7月8日 学习日记HashMap通过扩容可以减少链表长度当链表长度超过8时会扩容当数组长度到达64且链表长度超过8个的时候会转化成红黑树红黑树左结点都是比结点小右结点都是比结点大先比较hashcode,在比较值扩容是原来的2倍树里面排序是按照字符串排序正常情况下链表不会超过6个,只有当遭到dos恶意攻击时,恶意存入一样的hashcode,才会超过8,当超长链表出现的时候系统性能会下降的很快,树化就是为了防止遭受这种攻击。红黑树的时间复杂度 long2 n树的占用空间比链表大,如非必要不会树化退化情况扩容时如果链表小于等于6个就会退化为链表remove树结点时,若root,root-left,root-right,root-left-left有一个为null,也会退化为链表,注意是移除之前检查,如果移除后不再了不会退化,若检查到为null了才会退化97 % 16 == 97 &(16-1)因为取模运算和按位与运算需要是2的n次幂才是等价的,所以hashmap的容量是2的n次幂,按位与运算比取模运算性能高。采用质数来当作数组容量,在所有都是偶数的key时,分布情况好。采用效率高,应该用2的n次幂来作为数组容量1。

7的put操作时头插法,1。8的put操作时尾插法扩容因子是0。75,当超过数组容量*0。75时会扩容key可以为null,其他map就不行作为key的对象,必须实现hashCode和equals。并且key的内容不可变,否则就会找不到这个keyString对象hashcode,每次乘31来达到很好的散列效果设计模式饿汉式还没实例化就已经被创建好了私有构造方法静态成员变量唯一实例静态方法返回实例懒汉式使用到才创建好DCL double check lockif instance == nullsynchranizedif instance == nullinstance 上要加volatilevolatile可以解决可见性和有序性问题,添加了这个关键字会阻止了代码指令重排序,就不会出现线程2出现没有进行构造的实例。还有一种静态内部类来创建初始化的一种方式,枚举类饿汉式不怕序列化和反射破坏单例模式单例在jdkRuntime 饿汉式System的Console 懒汉式 (控制台)Collections集合中有许多Comparator 采用枚举实现单例并发线程状态new 新建new线程的时候就是新建状态通过start 转换成可运行runnable 可运行terminated 终结线程执行完毕进入终结状态blocked阻塞获得锁失败时获得锁成功后进入可运行waiting等待获得锁成功,条件不满足的时候会调用wait()方法,进入等待状态,同时释放锁当条件满足了,别的线程会调用notify()来进入可运行timed waiting 等待 有时限wait(long),进入等待时间到或notify()进入可运行调用sleep也会进入等待时间到后进入可运行线程池的核心参数corePoolSize 核心线程数目,最多保留的线程数,可以为0,maximumPoolSize 最大线程数目,核心线程数+救急线程keepAliveTime生存时间,针对救急线程unit 时间单位 针对救急线程workQueue 阻塞队列threadFactory 线程工厂,可以为线程创建时起一个好名字handler 拒绝策略

posted @

2022-07-13 13:32 hanukkah

阅读(

1

(编辑:鹰潭站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章