谁有LINUX的指令集

谁有LINUX的指令集,第1张

Ubuntu常用命令速查手册-珍藏版-完整版

sudo apt-get install 软件名 安装软件命令

sudo nautilus 打开文件(有root权限)

su root 切换到“root”

ls 列出当前目录文件(不包括隐含文件)

ls -a 列出当前目录文件(包括隐含文件)

ls -l 列出当前目录下文件的详细信息

cd .. 回当前目录的上一级目录

cd - 回上一次所在的目录

cd ~ 或 cd 回当前用户的宿主目录

mkdir 目录名 创建一个目录

rmdir 空目录名 删除一个空目录

rm 文件名 文件名 删除一个文件或多个文件

rm -rf 非空目录名 删除一个非空目录下的一切

mv 路经/文件 /经/文件 移动相对路经下的文件到绝对路经下

mv 文件名 新名称 在当前目录下改名

find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录

fdisk fdisk -l 查看系统分区信息

fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区

chown chown root /home 把/home的属主改成root用户

chgrp chgrp root /home 把/home的属组改成root组

Useradd 创建一个新的用户

Groupadd 组名 创建一个新的组

Passwd 用户名 为用户创建密码

Passwd -d用户名 删除用户密码也能登陆

Passwd -S用户名 查询账号密码

Usermod -l 新用户名 老用户名 为用户改名

Userdel–r 用户名 删除用户一切

tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包

tar –cvf benet.tar /home/benet 把/home/benet目录打包

tar –zcvf benet.tar.gz /mnt 把目录打包并压缩

tar –zxvf benet.tar.gz 压缩包的文件解压恢复

tar –jxvf benet.tar.bz2 解压缩

make 编译

make install 安装编译好的源码包

reboot Init 6 重启LINUX系统

Halt Init 0 Shutdown –h now 关闭LINUX系统

uname -a 查看内核版本

cat /etc/issue 查看ubuntu版本

lsusb 查看usb设备

sudo ethtool eth0 查看网卡状态

cat /proc/cpuinfo 查看cpu信息

lshw 查看当前硬件信息

sudo fdisk -l 查看磁盘信息

df -h 查看硬盘剩余空间

free -m 查看当前的内存使用情况

ps -A 查看当前有哪些进程

kill 进程号(就是ps -A中的第一列的数字)或者 killall 进程名( 杀死一个进程)

kill -9 进程号 强制杀死一个进程

常用apt命令:

apt-cache search package 搜索包

apt-cache show package 获取包的相关信息,如说明、大小、版本等

sudo apt-get install package 安装包

sudo apt-get install package - - reinstall 重新安装包

sudo apt-get -f install 修复安装”-f = –fix-missing”

sudo apt-get remove package 删除包

sudo apt-get remove package - - purge 删除包,包括删除配置文件等

sudo apt-get update 更新源

sudo apt-get upgrade 更新已安装的包

sudo apt-get dist-upgrade 升级系统

sudo apt-get dselect-upgrade 使用 dselect 升级

apt-cache depends package 了解使用依赖

apt-cache rdepends package 是查看该包被哪些包依赖

sudo apt-get build-dep package 安装相关的编译环境

apt-get source package 下载该包的源代码

sudo apt-get clean &&sudo apt-get autoclean 清理无用的包

sudo apt-get check 检查是否有损坏的依赖

清理所有软件缓存(即缓存在/var/cache/apt/archives目录里的deb包 )

sudo apt-get clean

删除系统不再使用的孤立软件

sudo apt-get autoremove

MIPS的演化

MIPS16是一个1997年面世的可选的指令集扩展,它能减少二进制程序尺寸的30-40%。实现者希望这种CPU能够在很关心代码尺寸的场合中更有吸引力--这种场合通常就是指低成本系统。由于只应用于特定实现,它是一个多厂商标准:LSI, NEC和Philips都生产支持MIPS16的CPU。

使MIPS二进制代码比其他架构的并不是MIPS指令集干的活少了, 而是他们的尺寸更大一些--每个指令4字节长,相比之下某些CISC架构一般平均只有3个字节。

MIPS增加了一种模式,在这种模式下CPU可以对16位固定大小的指令进行解码。大多数MIPS16指令扩展成正常的MIPS III指令,所以很明显这将是一个相当受限制的指令子集。窍门就在于使这个子集对足够多的程序充分的进行高效编码,以使整个程序的大小得到大大的压缩。

当然,16位指令并不会使其变成一个16位指令集。MIPS16 CPU是实际存在的带有32位或者64位寄存器的的CPU,MIPS16 CPU的运算也都在这些寄存器上。

MIPS16远不是一个完整的指令集—例如它既没有CPU控制指令,也没有浮点运算指令。但没有关系,因为每一个MIPS16 CPU也必须要运行完整的MIPS ISA。你能运行MIPS16和正常的MIPS代码的混合指令。每个函数调用或者跳转-寄存器指令都能改变运行模式。

1.并不是MIPS发明了提供一种可选的使部分指令只有一半大小的创意。Advanced RISC Machine(ARM)公司的Thumb版本的arm CPU首先提出这个想法的。

在MIPS16中把指令地址编码成最低有效位(Least Significant Bit, LSB)模式是既方便又高效的。MIPS16指令必须偶字节对齐,所以bit 0不再是指令指针(instruction pointer, 就是程序计数器PC)的组成部分了;取而代之的是,每条跳到奇数地址的指令开始执行MIPS16,每条跳到偶数地址的指令回到正常的MIPS。MIPS子程序调用指令jal的目标地址总是字对齐的,所以新指令jalx隐藏了指令的模式间转换。

为了把指令压缩到一半大小,对于大多数指令我们只分配了3 bit来选择寄存器,这样只有8个通用寄存器允许自由访问;在许多MIPS指令中可以见到的16 bit常数域也被压缩,通常变成了5 bit。许多MIPS16指令只指明两个寄存器,而不是三个。另外,还有一些特别的编码规则将在下一节描述。

D.1.1 MIPS16中的特殊编码格式和指令

被缩减的通用指令没有什么问题,但有两个特定的弱点会加大程序尺寸;5 bit的立即数域构造常量是不够的,在load/store *** 作中也没有足够的地址范围。三种新的指令和一种特别规定有助于解决这些问题。

extend是一条特殊的MIPS16指令,它由5 bit的代码和11 bit的域构成。这个11 bit的域可以和后续指令中的立即数域相连接,这样就允许使用一个指令对来对16 bit立即数编码。这条指令在汇编语言中看起来就像一个指令前缀。

装载(load)常量在正常的MIPS模式下都需要额外的指令,在MIPS16模式下更是巨大的负担;把常量放在内存中然后再读它们会更快一些。MIPS16对相对于指令自身位置的装载 *** 作(PC-relative loads, PC相关装载)增加了支持,允许常量被嵌到代码段中(典型情况就是在函数的起始处前面)。这些是仅有的不是严格对应于正常的MIPS指令的MIPS16指令—MIPS没有PC相关的数据 *** 作。

许多MIPS load/store *** 作是直接在栈帧(stack frame)里,$29/mp可能是最普通的基寄存器。MIPS16定义了一组隐式使用mp的指令,允许我们把函数的栈帧引用地址也编进去而不需要一个分离的寄存器域。

MIPS的Load指令总是生成32位的全地址。由于装载字(load word)指令只有当地址是4的倍数是才合法,最低两位就被浪费了。MIPS16的Load指令是可以伸缩的:地址的偏移量会根据被load/store的对象的大小左移,这样就增加了指令中可用的地址范围。

作为一种额外的应急机制,MIPS16定义了一些指令,允许在8个MIPS16可访问的的寄存器中的一个与32个MIPS通用寄存器中的任何一个间任意做数据移动。

D.1.2 对MIPS16的评价

MIPS16对于汇编语言编程来说不是一种合适的语言,我们也不准备对它详细说明。这些是编译器的工作。大多数使用MIPS16模式编译的程序的尺寸都会缩小到用MIPS模式编译的 60-70%。MIPS16比32位CISC架构的代码更紧凑,和arm的Thumb代码差不多,和纯16位CPU相比相当有竞争力。

但是没有免费的午餐;MIPS16程序可能比MIPS增加40-50%的指令。这意味着在CPU核上运行一个程序会多用40-50%的时钟周期。但是低端CPU经常主要被存储器所限制,而不是被CPU核所限制。较小的MIPS16程序需要较低的带宽来取指令,这样就得到更低的cache缺失率。在cache很小并且程序的存储器有限时,MIPS16将会弥补差距,还有可能要重新改写正常的MIPS代码。

由于性能的降低,MIPS16代码在有大的存储器资源和很宽总线的计算机中没有吸引力。这就是为什么它只是一种可选扩展的原因。

在应用范围的另一端, MIPS16将会与软件压缩技术展开竞争。在放进ROM存储器之后,使用通常的文件压缩算法压缩的正常MIPS程序将会比未压缩的同等MIPS16代码小,而稍大于压缩过的MIPS16同等代码(注1);如果你的系统拥有足够的内存能够把ROM当做文件系统使用,而把代码解压缩到RAM中执行,那么全ISA软件解压很可能会带来更好的总体性能。

也有这样一种趋势来构造系统,那就是大量使用以字节编码的解释语言(Java或者它的后续者)来书写大量在时间上要求不严格的程序。那种中间代码非常小,在尺寸方面比任何二进制机器码都高效的多。如果只有解释器和一些对性能要求严格的程序留在机器中ISA中,那么更密集的指令集编码格式将只会影响程序的一小部分。当然解释器(特别是Java)本身会非常大,但是应用复杂度的无情增长将很快使它减少重要性。

我预料在1998-2003年将会看到MIPS16小范围的应用于低能量、小尺寸和成本受限制的系统中。它还是值得发明的,因为有些系统—比如”智能”移动电话—可能会大量生产。

1.更密集的编码格式在使用上比压缩算法有更低的冗余度。

D.2 MIPSV/MDMX

MIPS V和MDMX是在1997年早些时候一起公布的。它们本来是为一种新的准备在1998年发布MIPS/SGI的CPU中的指令而设计的。但是那个CPU后来被取消了,关于它们的未来存在疑问。

二者都是为了克服一些已知的传统指令集的不足,这些不足是在ISA面向多媒体应用中产生的。象软调制解调器的语音编/解码、或流媒体应用、或图像/视频的压缩/解压缩这样的任务采用一些过去只有专用数字信号处理器(digital signal processor, DSP)才用的数学算法。在这种计算等级,多媒体任务通常都包括重复进行一些对大向量或者数组数据的相同 *** 作。

在基于寄存器的机器内部,通常采用的方案是把多媒体数据项封装到一个机器寄存器中,然后执行一条寄存器-寄存器指令,这条指令对于每个寄存器中的每个域做同样的工作。这是一种非常明显的并行处理形式,被称为单指令,多数据(single instruction, multiple data. SIMD)。

这个想法首先见于一款Intel的业已消失的i860架构的微处理器(circa 88)中。作为对Intel x86指令集进行扩展的MMX在1996年投放市场后,SIMD重新登场时更加引人注目。

MDMX对 *** 纵在一个64位寄存器中8x8-bit的整数组提供了一组 *** 作,这些 *** 作能够对所有的8小片做同样的事情。这些指令包括通常的算术 *** 作(加,减,乘),也有乘法-累加指令能把结果放在一个巨大的累加器中,这个累加器有足够的精度防止溢出。

由于这些指令被用于特定数据类型被相当清楚的从正常的程序变量分离开来的场合中,MDMX指令集与浮点寄存器一起工作就变得有意义。以这种方式重复利用现有的寄存器意味着现有的 *** 作系统不需要改变(在任务切换时 *** 作系统已经保存和恢复浮点寄存器了)。

与MDMX相似,Intel的MMX为封装进一个64bit的8个8bit数提供了”octibyte”八路(eight-way)指令。MIPS MDMX也定义了4x16位(四个短整数 *** 作)和2x32位(两个字 *** 作)格式,但是早期的情况是一些MDMX实现可能认定octibyte格式和指令足够了。

当对8bit的数做算术运算时, 结果经常下溢和上溢。如果我们必须为众多的溢出测试条件编写处理程序,那么多媒体应用的性能将不会得到提高。而只简单截去最大的和最小的数(对于无符号8-bit数来说,就是255和0)的上溢和下溢结果,对于机器运算来说会更加有帮助。这个处理过程叫做”饱和”(saturating)算法。MDMX拥有这种能力。

这就给我们带来了MIPS V。尽管从名字上看好像意思是指一个升级的指令集--就像MIPS I到IV那样,MIPS V在浮点领域跟MDMX很相似,提供了paired-single *** 作。paired-single对一对被封装进64-bit的浮点寄存器中的单精度数做两次FP动作。

MIPS V没有MDMX那么古怪;MIPS IV包含了一个相当广泛的浮点运算集合,并且直接为其中的绝大部分提供了paired-single版本的指令;甚至成对比较(paired-compare)也可以做到,这是因为MIPS IV的CPU已经有了多个浮点条件位来接收结果。但MIPS V没有提供复杂多周期指令的成对 *** 作版本的指令,这些多周期指令会需要非常多新的资源(例如没有求平方根和除法)。

D.2.1 编译器能用多媒体指令吗?

引入SIMD多媒体指令的原因和70年代晚期以前在超级计算机中提供向量处理单元的原因相似。很容易为向量处理器构造一个手工矩阵算术包。而用向量运算来编译一个用高级语言写成的程序就难得多了,尽管超级计算机提供商在这上面也取得一些成果。通常这些成果都集中在Fortran上;对于常规编程来说语义上的弱点使Fortran成为一种可怜的语言,但是这让它变成了一种很容易优化的语言

1、linux分区

--在linux里面所有的设备、任何东西,在linux看来都是文件。

--文件在它看来,有两种形式:

第一种是字符型(键盘输入、打印机);

第二种是二进制型(硬盘、光驱、U盘)

--linux中所有硬件

--手动分区

--A、至少有两个分区

/根分区

SWAP 交换分区(物理内存大小的两倍)

--B、个人桌面分区

/

/boot 128MB is enough

/usr

SWAP

/tmp(用于光盘刻录)

2、linux目录说明

--/dev/xxyN

--xx (分区所在设备类型:hd--IDE硬盘 sd--SCSI硬盘)

--y (标明分区所在设备

例如:/dev/hda 第一个IDE硬盘 或 /dev/hdb 第二个IDE硬盘 或 /dev/sdb 第二个SCSI硬盘)

--N (数字代表分区:1-4--主分区或扩展分区;逻辑分区从5开始!

例如:/dev/hda3 第一个IDE硬盘上的第三个主分区或扩展分区

/dev/sdb6 第二个SCSI硬盘上的第二个逻辑分区)

3、linux目录结构

/ 根目录,最高级别

/bin 系统基本命令存放目录(/usr/bin)

/boot linux的内核及引导系统程序文件存放目录(如:vmlinuz、initrd.img)

一般情况下,GRUB或LILO系统引导管理也位于这个目录

/dev 设备文件存储目录,如声卡、光驱...

/ect 存放系统设置文件(如用户账号密码、服务器配置文件等)

/home 普通用户家目录,默认存放目录

/lib 库文件存放目录

/lost+found 在ext2或ext3文件系统中,当系统以外崩溃或机器意外关机,而产生一些文件碎片放在这里。

当系统启动的过程中,fsck工具会检查这里,并修复已经损坏的文件系统。

有事喜用发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或者移文件到原来的位置上。

/media 即插即用型存储设备的挂载点自动在这个目录下创建。

如USB盘系统自动挂在后,会在这个目录下产生一个目录;

类似cdrom的目录

/mnt 存放挂载存储设备的挂载目录,如cdrom等目录

/opt 表示可选的意思,有些软件包也会被安装在此,也就是自定义软件包,

比如OpenOffice,或者一些我们自己编译的软件包,也可安装此处。

/proc *** 作系统运行时,进程(正在运行的程序)信息及内核信息(比如CPU、硬盘分区、内存信息等)存放在此。

/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统

/root linux超级权限用户root的家目录

/sbin 大多是涉及系统管理的命令的存放,只有超级权限用户root才可执行命令存放,普通用户无权限执行此目录下的命令

与 /usr/sbin/usr/X11R6/sbinusr/local/sbin 目录相似

(sbin,只有root权限才能执行)

/tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。

/var/tmp目录和此目录相似

/usr 系统存放程序的目录,如命令、帮助文件等。这个目录下有很多的文件和目录。

大部分Linux发行版提供的软件包都安装在此,涉及服务器的配置文件就安装在/ect中。

/usr/share/fonts 字体目录

/usr/share/man 或 /usr/share/doc 帮助目录

/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin普通用户可执行文件目录

/usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超级权限用户root可执行命令存放目录

/usr/include 程序头文件存放目录

/var (vary)此目录经常变动

/var/log 用来存放系统日志

/var/www 用来定义Apache服务器站点存放

/var/lib 用来存放一些库文件,如MySQL的,以及MySQL数据库的存放地。

4、基本命令

--查看帮助 *** --help *** --?

--查看详细帮助 man ***

--登录 login

--退出窗口 exit

--关机 shutdown

--重启 reboot

--初始化 init (run level -/etc/inittab),0-6看第六部分的g

--进入根目录 cd /

--回上层目录 cd ..

--相对路径 cd dev

--绝对路径 cd /dev

--查用户名 whoami

--查当前目录 pwd

--列出当前目录内容 ls

-l(树详细显示目录内容)

-m(横列显示目录内容,是屏幕长度显示)

-a(列出全部文件,包括隐藏文件)

-S(以文档大小排序)

--创建目录 mkdir dname

--删除目录 rmdir dname

rm -r *** -(递归删除该目录下所有内容,询问每个准备删除的文件)

rm -rf ***-(强制删除该目录下所有内容,不询问)

--创建空白文件 touch ***

(ps:从技术的角度来讲,linux的文件后缀名没有任何意义)

--复制 cp

cp -r **1 **2 (复制1到2中)

--移动 mv

mv -t **1 **2 (把2移动到1中)

--编辑文本 vi [文件名]

--查看文本 cat 由第一行开始显示文本内容

tac 从最后一行显示,可以看出 tac 是 cat 的倒着写

more 一页一页的显示文档内容

less 与 more 类似,可以往前翻页

head 只看头几行

-N(数字,可根据行数显示)

tail 只看后几行

-N(数字,可根据行数显示)

nl 显示的时候,顺序输出行号

od 以二进制位的方式读取档案内容

--查找文本 find [路径][查找类型][搜索文件名]

如查找rc.local find /etc -name *.local

--查找命令信息及其位置 whereis 命令

如 whereis ls

--查看环境变量 echo $SHELL

如 echo $PATH (分大小写:分隔符是:,windows是echo %path%)

--链接 ln

如 ln joe.txt a (硬链接,如同复制一个新文件,joe.txt删除后,a还存在)

a是链接的名称,a和joe.txt同步,然后a的内容和joe.txt一样

joe.txt改变,a也跟着变

如 ln -s joe.txt b (软链接,如同创建一个快捷方式,joe.txt删除后,b不存在)

--wc 统计指定文本文件的行数、字数、字符数

--grep(很常用) 在指定的文本文件中查找指定的字符串

grep 字符串 文件名

--col 见管道..

--------------------

----信息显示命令----

--------------------

--date 显示和设置日期

--stat 显示指定文件的相关信息

--who、w 显示在线登录用户

--whoami 显示用户自己的身份

--id 显示当前用户的id信息

--hostname 显示主机名称

--uname显示 *** 作系统信息

--dmesg显示系统启动信息

--du 显示指定的文件(目录)已使用的磁盘空间

--df 显示文件系统磁盘空间的使用情况

--free 显示当前内存和交换空间的使用情况

--fdisk -l 显示磁盘信息

--locale 显示当前语言环境

5、挂载点(mount 设备目录 挂载目录)

--访问设备 (那设备当成一个文件,和另外一个文件夹进行绑定)

--例如挂载光驱:步骤 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接访问光驱内容

--卸载挂载设备(umount /dev/cdrom)--注意必须先退出挂载目录,否则出现"device is busy"错误.

6、startup-shutdown(linux启动流程)

--A、boot sequence(important) linux启动过程

a. load bios(hardware information)

b. read MBR's config to find out the OS

(MBR--Master Boot Record,硬盘第一个物理扇区,柱面0、磁头0、扇区1,包含主引导程序和硬盘分区表)

c. load the kernel of the OS

(加载为kernel核心的OS)

d. init process starts...

(启动linux第一个进程init)

e. execute /etc/rc.d/sysinit

(执行系统最重要的配置文件,后台启用进程)

(rc.d--run command)

f. start other modules(stc/modules.conf)

(开启各种模块,如内存管理模块、硬盘管理模块)

g. execute the run level scripts

(系统启动是分层次的,根据情况执行,每个层次之间没关系)

0 - 系统停机状态

1 - 单用户工作状态 root

2 - 多用户状态(没有NFS)

3 - 多用户状态(有NFS)

NFS - Network File System 网络文件系统,联网系统

4 - 系统未使用,留给用户

5 - 图形界面

6 - 系统正常关闭并重新启动

如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多个文件夹,保存着各个层次执行的进程文件

h. execute /etc/rc.d/rc.local (重要)

(保存其它进程脚本,如tomcat自动启动,要修改此配置文件)

i. execute /bin/login

(登录界面)

j. shell started...

7、vi 文本编辑器

--两种模式:命令模式 编辑模式

--vi [文件名]

(切换到编辑模式)

a append-光标后添加

i insert-光标前插入

o open-另起一行编辑

esc (切换回命令模式)

:w 存盘

:wq 存盘退出

:q 退出

:q! 不存盘退出

dd 删除其中一行

dw 删除一个单词

(sudo gedit 文本 常用linux下的文本编辑器,比vi好用)

8、用户设置

--切换用户(switch user) su username

小技巧:直接exit切换

--添加用户 useradd username [-g] [组名](分配到某个用户组)

(创建后会自动在/home目录下创建该新用户的文件夹,如/home/username)

--设置密码 passwd username

--cd /etc

--查看用户信息 more password

如新增的用户信息:username:x:500:500::/home/username:/bin/bash

第一个数字,代表用户组,当添加用户没有指定用户组时,系统会创建一个和用户ID一样的组ID;

第二个数字:用户ID号;

用户的目录是/home/username;

用户的SHELL是/bin/bash

(命令--->SHELL[解释命令]--->kenrel内核)

SHELL有多种类型,如csh、bash(常用)、bsh、ksh、sh(最原始)

--添加用户组 groupadd groupname

--查看用户组信息 more group

--删除用户组 groupdel groupname

--修改用户 usermod [-g] [组名] [用户名]

--删除用户 userdel username

然后把/home的文件夹删除了 rm -rf 文件夹

9、权限file privilege

--linux把文件的权限分成四种:r:read w:write x:execute -:none

如:-rw-r--r--

lrwxrwxrwx

drwxr-xr-x

drwxr-xr-x

第一个数字'-'代表文件,其余是文件夹,后9位分为3组,每组有四种权限设置rwx-

第一位表示文件所有者

第二位表示和所有者在同一用户组的用户

第三位表示不在同一用户组的用户权限

--设置权限 (随意应用,灵活组合!)

1、普通用法

--添加权限 [chmod +x 文件]

如:-rw-r--r-- --->-rwxr-xr-x

--删除权限 [chmod -x 文件]

如:-rwxr-xr-x --->-rw-r--r--

--给自己添加权限 [chmod ?+x 文件]

如此类推,组--g,其他人--o

如:chmod u+x -rw-r--r-- --->-rwxr--r--

chmod g+x -rw-r--r-- --->-rw-r-xr--

chmod o+x -rw-r--r-- --->-rw-r--r-x

2、专业用法 chmod 755/777

--原理,八进制转二进制

如755,111 101 101, rwx r-x r-x

777,111 111 111, rwx rwx rwx

--修改所有者权限 chown (change owner)

如:chown 原来文件 file1 的所有者是 root,改成joe的

chown joe file1

10、管道(把上一个命令执行的结果交给下一个命令)

--使用方法:

命令1|命令2|命令3......|命令n

--使用举例

--$ls -Rl /etc | more

(如 ls -Rl /etc (在控制台模式下,无法返回前面过去的信息),因此需要管道执行该查询,实现分页的工作, ls -Rl /etc | more)

--$cat /etc/passwd | wc

(显示文件结果,再数数有多少行)

--$cat /etc/passwd | grep lrj

(显示文件结果,再查找包含lrj的行)

--#dmesg | grep eth0

(显示系统启动的信息,再查找包含eth0的行--真正含义,检查网卡执行信息是否正常)

--$man bash | col -b >bash.txt

语法:col [-bfx][-l<缓冲区列数>]

补充说明:在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符">"和">>",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。

参数:

-b 过滤掉所有的控制字符,包括RLF和HRLF。

-f 滤除RLF字符,但允许将HRLF字符呈现出来。

-x 以多个空格字符来表示跳格字符。

-l<缓冲区列数> 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。

--$ls -l | grep "^d"

(用正则表达式筛选出目录列表中 头字母为'd' 的内容--目录)(^是正则表达式开头部分)

--$ls -l * | grep "^-" | wc -l

(列出目录列表中 头字符为'-'的内容--文件,并统计显示的行数wc -l)

11、其他命令

--wall(warning all) 通知所有人

a.命令替换

如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r)

b.重定向

重定向输出:

如 ls >cmd.txt ,把文件写到cmd.txt,不输出在控制台

ls >>cmd.txt ,把文件追加写到cmd.txt

重定向输入:

如 wall >cmd.txt,把文本内容发给所有人

12、修改系统的默认系统级别

常用3和5

3 - 多用户状态(有NFS)

NFS - Network File System 网络文件系统,联网系统

5 - 图形界面

PS.设置用户权限: sudo chmod 777 目录

4表示读,2表示写,1表示执行.

第一位表示文件所有者,第二位表示和所有者在同一用户组的用户,第三位表示不在同一用户组的用户权限.

755表示文件所有者可读写,执行.

第二位5表示与所有者在同一用户组的可读,可执行,不可写.

第三位5表示其它组可读,可执行,不可写. 转载于Joewalker在本人空间也有详细说明


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8671483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存