导航:首页 > 操作系统 > linux分行

linux分行

发布时间:2022-12-27 02:30:53

1. linux shell脚本中如何将bin目录下以字母b开头的文件属性分行输入到一个文本文件中去

ls -l b*|awk '{print($9 " " $3 " " $1)}' >test.txt

2. 在命令行模式下执行命令

输入命令按下enter键就会开始执行,如果输入的命令很长,可以使用反斜杠来转义enter符号,使命令连续到下一行。
在linux环境中大小写是不同的

1.显示日期和事件的命令:date
如果想要输出特定格式的日期和事件需要带上参数
例如:date +%Y/%m/%d
date +%H:%M
2.显示日历的命令:cal
cal的基本能语法:cal [[month] year]
可以显示某年的日历:例如,cal 2009
可以显示某年某月的日历:例如,cal 9 2009
3.计算器命令:bc
输入bc命令就进入bc这个软件的工作环境,就可以像在windows中一样进行加减乘除,
+加法,-减法,*乘法,/除法,^指数,%余数。
bc默认是输出整数的,如果要输出全部小数,就必须执行scale=number,其中number就是小数点后的位数。
要离开bc,需要输入quit才能离开bc软件环境。

1.tab键:用于补全命令或者补全文件
2.ctrl+c:用于中断目前正在运行的命令
3.ctrl+d:表示键盘输入结束,也可以用来代替exit的输入。
在命令行中直接按下两次tab键,可以看到总共有多少个命令可以供当前用户使用。

可以使用man 命令名来查看命令的具体用法。
其中man是manual的缩写。

数据同步写入磁盘中:在关机前可以使用命令sync将内存中尚未被更新的数据就会被写入硬盘中。
关机命令:shutdown、reboot、halt、poweroff
系统执行等级:
run level 0:关机
run level 3:纯命令行模式
run level 5:含有图形界面模式
run level 6:重启
可以使用init命令来切换各种模式,例如想要关机的话,也可以使用init 0。

Linux文件属性
ls -al 列出所有的文件,-al表示列出所有的文件详细的权限和属性。
例如
[1] [2] [3] [4] [5] [6] [7]
[权限] [连接] [所有者][用户组][文件容量] [修改日期] [文件名]
drwxr-x--- 4 root root 4096 Sep 8 14:06 .gconfd
-rwxr-xr-x 1 root root 1024 Jan 3 11:01 install.log
1.第一列文件的类型与权限
第一列由10个字符组成:
第一个字符代表这个文件是目录、文件或者链接文件等
其中d表示目录,
-表示是文件
l表示是连接文件
接下来的字符中,以三个字符为一组,均是rwx的组合,其中r表示可读,w表示可写,x表示可执行。如果没有相应的权限就用-表示。
这三组分别表示的权限是:
第一组为”文件所有者的权限“
第二组为”同用户组的权限“
第三组为”其他非本用户组的权限“
2.第二列表示有多少个文件名连接到此节点上
3.第三列表示这个文件或目录的所有者账号
4.第四列表示这个文件所属的用户组
5.第五列表示这个文件的大小,默认单位为B
6.第六列表示这个文件的创建日期或这个文件的修改日期。
7.第七列表示这个文件名

改变文件属性和权限:
chgrp(change group):改变文件的所属用户组
chown(change owner):改变文件所有者
chmod:改变权限,权限的设置有两种方式,使用数字或者符号来进行权限的更改。
数字类型改变权限:
使用数字分别代表各个权限,其中:
r:4
w:2
x:1
owner、group、others三种身份各自有自己的rwx权限,三个权限的分数需要累加。例如
owner = rwx = 4 + 2 + 1=7
group = rwx = 4 + 2 + 1 = 7
others = --- = 0 + 0 + 0 = 0
那么这个文件的权限数字就是770
符号类型改变权限:
使用u,g,o分别代表user、group、others三种身份的权限,a表示所有身份
例如:
一个文件的权限为:-rwxr-xr-x
user:有可读、可写、可执行的权限
group:有可读、可执行的权限
others:有可读、可执行的权限
可以使用命令 chmod u=rwx,go=rx install.log
给install.log文件的所有用户增加写权限
chmod a+w install.log
给install.log文件的所有用户去掉可执行权限
chmod a-x install.log

Linux下文件没有所谓的扩展名,一个linux文件能不能被执行,与文件名没有一点关系,而是权限中有x,就代表这个文件可以被执行。
通常会以适当的扩展名来表示文件是什么种类的。例如, .sh表示脚本或批处理文件, .Z、 .tar、 .tar.gz、 .zip、 .tgz都表示压缩文件。

FHS(Filesystem Hierarchy Standard)标准用于让用户能够了解到已安装的软件通常放置在哪个目录下。FHS根据文件系统使用的频繁与否和是否允许用户随意改动,而将目录定义成四种交互作用的形态。分别如下:
可分享的 不可分享的
不变的:/usr(软件放置处)、/opt(第三方软件) /etc(配置文件)、/boot(开机与内核文件)
可变动的: /var/mail(用户邮件信箱) /var/run(程序相关)、/var/lock(程序相关)
/var/spool/news(新闻组) /var/lock(程序相关)

可分享的:可以分享给其他系统挂载使用的目录,所以包括可执行文件与用户的邮件等数据,是能够分享给网络上的其他主机挂载用的目录。
不可分享的:自己机器上运行的设备文件或者程序有关的socket文件等,不适合分享给其他主机。
不变的:数据不经常变动。
可变动的:数据经常变动
根目录(/):是整个系统最重要的目录,不仅所有其他目录是由根目录衍生出来的,而且根目录与开机、还原、系统修复等操作有关。根目录所在的分区越小越好,并且应用程序所安装的软件最好不要与根目录在同一个分区。
开机过程中仅有根目录会被挂载,其他的分区会在开机完成之后才会持续进行挂载,因此根目录下与开机过程有关的目录就不能够与根目录放到不同的分区去。有如下这些目录:
/etc:配置文件
/bin:重要执行文件
/dev:所需要的设备文件
/lib:执行文件所需的函数库与内核所需的模块
/sbin:重要的系统执行文件
/usr(UNIX software resource)unix操作系统软件资源,所有系统默认的软件都会放置在该目录下,因此这个目录有点类似与windows下的“C:Windows”和“C:Program files”。
/var 放置一些缓存、登录文件以及某些软件运行所产生的文件。
相对路径和绝对路径:
绝对路径:由根目录/开始写起的文件名或目录名称。
相对路径:相对于当前路径
.:或者./表示当前路径
..:或者../表示上层目录

几个特殊的目录
. 代表此层目录
.. 代表上层目录

~ 代表“目前用户身份”所在的主文件夹
~account 代表account这个用户的主文件夹
几个常见的处理目录的命令
cd:切换目录
刚登录时会回到自己的主文件夹,主文件夹有一个代表符号就是~,cd ~会回到个人的主文件夹中,仅输入cd和输入cd ~相同。
pwd:显示当前目录
pwd [-p] 其中-p表示显示当前路径,而不是使用连接路径。加上-p可以让我们取得正确的目录名称。
mkdir:创建一个新目录
mkdir [-mp] 目录名称,其中m参数表示配置文件夹的权限。p参数表示递归创建所需要的所有目录
rmdir:删除一个空目录
rmdir [-p] 目录名,其中p参数表示连同上层空的目录一起删除。要删除的目录中必定不能存在其他的目录或文件。

执行文件路径的变量:$PATH
例如查看文件属性的命令是ls,而ls完整的文件名是/bin/ls,为什么我们可以在任何地方执行ls这个命令呢,这是因为环境变量PATH的帮助。当我们输入ls的时候,系统会依照PATH的设置去每个PATH定义的目录中查找文件名为ls的可执行文件,如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先查询到的同名命令先被执行。

默认情况下,如果用户创建文件,则默认没有可执行权限(x),只有r、w这两个选项,即默认权限是-rw-rw-rw(666)
默认情况下,如果用户创建目录,则默认所有权限均开放,即为drwx-rwx-rwx(777)
unmask的分数是指“该默认值需要拿掉的权限”,例如上面的022表示用户没有被拿掉任何权限,用户组和其他被拿掉了写的权限。
如何使用unmask修改新建文件的默认权限,直接在unmask后面加上分数就好了
比如:
···
unmask 002 就表示用户和用户组的读写权限不被拿掉,其他会被拿掉写的权限
···

2.与用户或用户组名有关的参数
-uid n 其中n表示数字,即用户的ID,也称为UID
-gid n 其中n表示数字,即用户组名的ID,也称为GID
-user name 其中name为用户的账号名称
-group name 其中name为用户组名
-nonuser 表示寻找文件的所有者不存在在/etc/passwd中的文件
-nongroup 表示寻找文件的所有用户组不存在于/etc/group中的文件
例如:

3.与文件权限及名称有关的参数
-name filename 查找文件名为filename的文件
-size [+-] SIZE 查找比size大(+)或小(-)的文件
-type TYPE表示查找文件类型为TYPE的文件
-perm mode表示查找文件权限刚好等于mode的文件
-perm -mode表示查找文件权限必须全部包括mode的权限的文件
例如 查找文件权限为-rwxr--r--的文件,即权限744,那么文件权限为-rwxr-xr-x(755)的文件也会被列出来,因为-rwxr-xr-x的属性包括了-rwxr--r--的属性
-perm +mode表示查找文件权限包含任一mode的权限的文件,例如查找-rwxr-xr-x,但是另一个文件属性包括-rw-------的文件也会被列出来,因为它有-rw属性存在
4.其他可进行的操作
-exec command :其中command表示其他命令,-exec表示接其他命令来处理查询的结果
-print 表示将结果打印在屏幕上

vi和vim的区别是vim是vi的高级版本
为什么要学vim
1.所有的linux like 系统都会内置vi文本编辑器,而其他的文本编辑器不一定有
2.很多软件的编辑接口都会主动调用vi
3.vim有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便设计
vi的使用:
vi有三种模式:一般模式、编辑模式、命令行模式
一般模式:使用vi打开一个文件的时候就进入了一般模式,在这个模式中可以按左右键移动光标,可以删除字符或删除整行,也可以复制粘贴你的文件数据。但是不可以编辑文件。
编辑模式:在一般模式下按下“i 、I、o、O、a、A、r、R”等任何一个字母才会进入编辑模式,按esc退出编辑模式
命令行模式:在一般模式下,输入“:、/、?”就进入了,命令行模式,在这个模式下可以进行读取、保存文件,离开vi等操作。
编辑牧师和命令行模式之间是不可以切换的。
一般模式切换到命令行模式可用的按钮
:w 表示将编辑的内容写入到硬盘中
:w! 表示如果文件属性为 只读时,强制写入该文件
:q表示离开vi
:q!表示如果文件有修改过,不保存强制退出,
:wq表示保存后离开
vim的用法和vi完全一样

管道命令仅会处理standard out,对于standard error output会予以忽略
管道命令必须要能够接收来自前一个命令的数据成为standard input继续处理才行
选取命令:cut,grep
1.cut -d ‘分隔符’ -f field
cut -c 字符范围
-d表示分隔符
-f表示与-d分隔符一起使用,表示取分割后的第几段
-c表示以字符为单位取出固定字符区间
以“行”为单位进行处理的选取
例如:

2.grep
grep [-acinv] [--color=auto] '查找的字符串' filename
其中
-a表示将binary文件以text文件的放肆查找数据
-c表示计算找到“查找字符串”的次数
-i表示忽略大小写的不同
-n表示输出行号
-v表示反向选择,即显示出没有‘查找字符串’内容的那一行。
--color=auto表示将找到的关键字部分加上颜色
例如:

首先学习一下grep命令的一些高级参数
grep [-A] [-B] [--color=auto] ‘搜索字符串’ filename
其中:
-A :后面可加数字,表示after的意思,除了列出该行外,后续的n行也列出来。
-B :后面可加数字,表示before的意思,除了列出该行外,前面的n行也列出来。
--color=auto表示将选取的数据添加颜色
grep是一个很常用的命令,grep在数据中查找一个字符串时,是以整行为单位来进行数据的选取的。假如一个文件有10行,其中有两行具有你查找的字符串,则将那两行显示在屏幕上,其他的丢弃。
例如
1.查找特定的字符

2.利用中括号[]来查找集合字符
[]里面不论有几个字符,它都只代表某“一个”字符

3.行首与行尾字符^$

^ 出现在[]之外表示定位在首行,^ 出现在[]中表示方向选择

4.任意一个字符.与重复字符*
.(小数点):代表一定有一个任意字符
*(星号):代表重复前一个字符0到无穷次的意思
例如:

5.限定连续RE字符范围{}
因为符号{}在shell中是有特殊意义的,因此必须要使用转义字符来让它失去特殊意义才行。
例如

^word 表示待查找的字符word在首行
word$ 表示待查找的字符在结尾
.(小数点)表示一定有一个任意字符的字符
表示转义字符,将特殊符号的特殊意义去掉
*表示重复零个或无穷多个前一个字符
[list]表示从字符集合list中找出想太选取的一个字符
[n1-n2]表示从字符集中查找想要选取的字符范围
[^n1-n2]表示从字符集中查找不要的字符串或范围
{n,m}表示连续n到m个前一个字符,若为{n}表示连续n个前一个字符,{n,}表示连续n个以上前一个字符。

sed命令可以将数据进行替换、删除、新增、选取特定行等
sed [-nefr] [动作]
其中
-n表示使用安静模式,在一般sed用法中,所有来自STDIN的数据一般都会被列出在屏幕上,但如果加上-n参数后,则只有经过sed特殊命令处理的那一行才会被列出来。
-e表示直接在命令行模式上进行sed的动作编辑
-f表示直接将sed的动作写在一个文件内
-r表示sed的动作支持的是扩展型的正则表达式,默认是基础型的正则表达式
-i表示直接修改读取的内容,而不是由屏幕输出
动作说明:
[n1[,n2]] function
n1,n2:不一定会存在,一般代表选择进行动作的行
function 有下面的参数
a表示新增,a后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行)
c表示替换,c的后面可以接字符串,这些字符串可以替换n1,n2之间的行
d表示删除
i表示插入,i后买呢可以接字符串,而这些字符串会在新的一行出现(目前的上一行)
p表示打印,将某个选择的数据打印出来,通常会和参数-n一起运行
s表示替换,可以直接进行替换工作,sed ‘s/要被替换的字符串/新的字符串/g'
例如

awk是非常棒的数据处理工具。
awk '条件类型1{动作1} 条件类型2{动作2} 条件类型3{动作3}....' filename
awk主要是处理每一行的字段内的数据,而默认的字段的分隔符是空格键或[tab]键。
例如

awk内置变量有:

例如:

awk的逻辑运算符

例如:

我们发现上面会输出第一行奇怪的数据,是因为当读入第一行的时候,变量之间还是以空格键进行分隔的,所有,我们虽然定义了FS=":",但是却在第二行后开始生效,我们可以利用BEGIN这个关键字。

使用awk进行计算统计
例如

格式输出中,在printf的格式设置中,务必加上 ,才能进行分行
在awk中变量可以直接使用,不用加上$符号

crontab进行工作调度
crontab [-u username] [-l | -e | -r]
-u表示只有root才能进行这个任务
-e表示编辑crontab的工作内容
-l表示查阅crontab的工作内容
-r表示删除crontab的所有工作内容
例如

其中由6个字段组成
分别表示的意义是:
分钟 小时 日期 月份 周 命令
0-59 0-23 1-31 1-12 0-7 命令
其中周的0和7都表示星期日
表示任意时刻
,(逗号)表示分隔时段的意思,例如0 3,6 * * * commond,表示在3和6时执行
-(减号)表示一段时间范围,例如20 8-12 * * * commond,表示8到12时之间每小时的20分执行。
/n(斜线)表示每隔n单位间隔的意思,例如
/5 * * * * commond,表示每隔5分钟执行一次。
执行crontab -e这个crontab其实是/usr/bin/crontab这个执行文件。

scp -r 源文件路径 root@ip:目标文件路径

3. linux的grep查询命令

grep默认只能识别基本的正则表达式,如果需要高级的,需要这样:
grep -E 'A.*B|B.*A' filename
可以找到符合要求的,或者使用awk:
awk '/A/&&/B/' filename

4. linux 输入长命令行 会无缘无故的回到行开始,本来应该在下一行继续的!

建议你把长的命令行切成几段,分行写。在哪里切断,问题不大,关键是要在切断处,加上“backslash”符号,即\

5. linux 只安装openbox 怎么进入桌面

Openbox
默认的自动启动
脚本文件
位于:
/etc/xdg/openbox/autostart.sh
你可以在建立自己的自动启动脚本时参考
使用下列命令来建立一个自己的
autostart.sh
文件:
vim
~/.config/openbox/autostart.sh
比如,要开机即加载面板程序
Pypanel,可以加入下面的内容:
pypanel
&
如果要加入多个程序,则分行写即可。

6. Linux基本命令-2021-0717

[root@localhost ~]# ls -l
总用量 44
-rw------. 1 ---- root ---- root --------1207 1 月14 18:18 anaconda-ks.cfg
权限--引用计数 所有者 -- 所属组--- 大小-- 文件修改时间 文件名

ls [选项] [文件名或目录名]
选项:
-a :显示所有文件
--color=when:支持颜色输出
-d :显示目录信息,而不是目录下的文件
-h :人性化显示﹐按照我们习惯的显示文件大小
-i :显示文件的i节点号
-l:长格式显示

pwd 命令是查询当前所在的目录的绝对路径
选项:
-L (默认值)打印环境变量"$PWD"的值,可能为符号链接。
-P 打印当前工作目录的物理位置。

mkdir 是创建目录的命令
选项:
-Z:设置安全上下文,当使用SELinux时有效;
-m或--mode:建立目录的同时设置目录的权限;
-p或--parents:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
rmdir 是删除空目录的命令
-p: 递归删除目录

touch 是 创建空文件或修改文件的时间戳
[root@localhost ~]# touch [选项] 文件名
-a:或--time=atime或--time=access或--time=use 只更改存取时间;
-c:或--no-create 不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或--time=mtime或--time=modify 只更该变动时间;
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
--help:在线帮助;
--version:显示版本信息。

stat 是查看文件详细信息的命令,而且可以看到文件的这三个时间戳
选项:
-L:支持符号连接;
-f:显示文件系统状态而非文件状态;
-t:以简洁方式输出信息;

cat 命令用来查看文件内容
选项:
-A: 相当于-vET 选项的整合,用于列出所有隐藏符号
-E: 列出每行结尾的回车符$
-n: 显示行号
-T: 把 Tab 键用^I显示出来
-v: 列出特殊字符

more 是分屏显示文件的命令

less 是分行显示文件的命令
用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
选项:
-e:文件内容显示完毕后,自动退出;
-f:强制显示文件;
-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
-l:搜索时忽略大小写的差异;
-N:每一行行首显示行号;
-s:将连续多个空行压缩成一行显示;
-S:在单行显示较长的内容,而不换行显示;
-x<数字>:将TAB字符显示为指定个数的空格字符。

head 是用来显示文件开头的命令
选项:
-c --bytes=[-]NUM 显示前NUM字节;如果NUM前有"-",那么会打印除了文件末尾的NUM字节以外的其他内容。
-n, --lines=[-]NUM 显示前NUM行而不是默认的10行;如果NUM前有"-",那么会打印除了文件末尾的NUM行以外的其他行。
-q, --quiet, --silent 不打印文件名行。
-v, --verbose 总是打印文件名行。
-z, --zero-terminated 行终止符为NUL而不是换行符。

tail 是用来显示文件末尾的命令
选项:
-c, --bytes=NUM 输出文件尾部的NUM(NUM为整数)个字节内容。
-f, --follow[={name|descript}] 显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。
-F 与 “--follow=name --retry” 功能相同。
-n, --line=NUM 输出文件的尾部NUM(NUM位数字)行内容。
--pid=<进程号> 与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令。
-q, --quiet, --silent 当有多个文件参数时,不输出各个文件名。
--retry 即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“--follow=name”连用。
-s, --sleep-interal=<秒数> 与“-f”选项连用,指定监视文件变化时间隔的秒数。
-v, --verbose 当有多个文件参数时,总是输出各个文件名。

ln 是用来为文件创建链接的命令
[root@localhost ~]# ln [选项] 源文件 目标文件
选项:
-s: 建立软链接文件。如果不加“-s”选项,则建立硬链接文件
-f: 强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
-d, -F, --directory 创建指向目录的硬链接(只适用于超级用户)
-f, --force 强行删除任何已存在的目标文件
-i, --interactive 覆盖既有文件之前先询问用户
-L, --logical 取消引用作为软链接的目标
-n, --no-dereference 把软链接的目的目录视为一般文件
-P, --physical 直接将硬链接到软链接
-r, --relative 创建相对于链接位置的软链接
-s, --symbolic 对源文件建立软链接

硬链接特征:
源文件和硬链接文件拥有相同的 Inode 和 Block
 修改任意一个文件,另一个都改变
 删除任意一个文件,另一个都能使用
 硬链接标记不清,很难确认硬链接文件位置,不建议使用
 硬链接不能链接目录
 硬链接不能跨分区

软链接特征:
 软链接和源文件拥有不同的 Inode 和 Block
 两个文件修改任意一个,另一个都改变
 删除软链接,源文件不受影响;删除源文件,软链接不能使用
 软链接没有实际数据,只保存源文件的 Inode,不论源文件多大,软链接大小不变
 软链接的权限是最大权限 lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文
件权限
 软链接可以链接目录
 软链接可以跨分区
 软链接特征明显,建议使用软连接

rm 是强大的删除命令,不仅可以删除文件,也可以删除目录
[root@localhost ~]# rm [选项] 文件或目录
选项:
d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。

cp 是文件或目录用于复制的命令
[root@localhost ~]# cp [选项] 源文件 目标文件
选项:
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制软链接时,把目标文件或目录也建立为软链接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立软链接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。

mv 是用来对文件或目录重新命名,或者将文件移动至其他目录
[root@localhost ~]# mv [选项] 源文件 目标文件
选项:
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“ / ”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

[root@localhost ~]# ls -l install.log
-rw-r--r--. 1 root root 24772 1 月 14 18:17 install.log

第一列的权限位如果不计算最后的“.”,则共有 10 位。

第 2~4 位代表文件所有者的权限。

chmod 用来变更文件或目录的权限
[root@localhost ~]# chmod [选项] 权限模式 文件名
选项:
-c, --changes:当文件的权限更改时输出操作信息。
--no-preserve-root:不将'/'特殊化处理,默认选项。
--preserve-root:不能在根目录下递归操作。
-f, --silent, --quiet:抑制多数错误消息的输出。
-v, --verbose:无论文件是否更改了权限,一律输出操作信息。
--reference=RFILE:使用参考文件或参考目录RFILE的权限来设置目标文件或目录的权限。
-R, --recursive:对目录以及目录下的文件递归执行更改权限操作。

用户身份

首先,读、写、执行权限对文件和目录的作用是不同的。

目录的可用权限其实只有以下几个。

chown 是修改文件和目录的所有者和所属组的命令
[root@localhost ~]# chown [选项] 所有者:所属组 文件或目录
选项:
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quite或——silent:不显示错误信息;
-h或--no-dereference:只对软链接的文件作修改,而不更改其他任何相关文件;
-R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-v或——version:显示指令执行过程;
--reference=<参考文件或目录>:把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同;
普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行
普通用户可以修改所有者是自己的文件的权限

chgrp 是修改文件和目录的所属组的命令
[root@phato ~]# chgrp [选项] 所属组 文件或目录
-R 递归式地改变指定目录及其下的所有子目录和文件的所属的组
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quiet或——silent:不显示错误信息;
-h或--no-dereference:只对符号连接的文件作修改,而不是该其他任何相关文件;
-H如果命令行参数是一个通到目录的软链接,则遍历软链接
-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
-L:遍历每一个遇到的通到目录的软链接
-P:不遍历任何符号链接(默认)
-v或——verbose:显示指令执行过程;
--reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;

umask 是显示或设置创建文件的权限掩码。我们需要先了解一下新建文件和目录的默认最大权限。

我们在这里按照权限字母来讲解 umask 权限的计算方法。我们就按照默认的 umask 值是 022来分别计算一下新建文件和目录的默认权限吧。

7. Linux系统通配符与ls命令的功能及用法

文件通配符

* 匹配零个或多个字符

? 匹配任何单个字符

~ 当前用户家目录

~mage 用户mage家目录

~+ 当前工作目录

~- 前一个工作目录

[0-9] 匹配数字范围

[a-z]:字母(或的关系)就是表示中括号中的某一个字符

[A-Z]:字母

[a-c]:a A b B c

[A-C]:A b B c C,也就是[]在里面匹配字母时是以aAbB...这样排序的

[wang] 匹配列表中的任何的一个字符

[^wang] 匹配列表中的所有字符以外的字符

{}花括号用来匹配一组用逗号分隔的字符串中的任一个。

左花括号之前的所有字符称为前文(preamble),右花括号之后的所有字符称为后文(preamble)。

前文和后文都是可选的。花括号中不能包含不加引号的空白符

预定义的字符类:man 7 glob(通配符)

[:digit:]:任意数字,相当于0-9

[:lower:]:任意小写字母[:lower:] 这个只相当于a-z,表示的时候必须要在加上中括号

[:upper:]: 任意大写字母

[:alpha:]: 任意大小写字母

[:alnum:]:任意数字或字母

[:blank:]:水平空白字符

[:space:]:水平或垂直空白字符

[:punct:]:标点符号

[:print:]:可打印字符

[:cntrl:]:控制(非打印)字符

[:graph:]:图形字符

[:xdigit:]:十六进制字符

ls命令的功能:

列出当前目录的内容或指定目录

ls命令的用法:

ls [options] [files_or_dirs]

        示例:

                ls -a 包含隐藏文件

                ls -l 显示额外的信息

                ls -r 倒转排序或者可以说是逆序排列

                ls -R 目录递归通过(递归会进入到子目录)

                ls -ld 目录和符号链接信息

                ls -1  文件分行显示(列显示)

                ls –S  按从大到小排序(按文件的大小排序)

                ls –t  按mtime排序(按文件的修改时间排序)

                ls –u 配合-t选项,显示并按atime从新到旧排序

                ls –U  按目录存放顺序显示(以创建文件的次序进行显示)

                ls –X  按文件后缀排序

                ls -d  列出目录本身并不显示内容

                ls -h  单位换算

                ls -I  --ignore(忽略)=PATTERN(模式)按着规定的模式去隐藏不进行显示

实例:

1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数

字的文件或目录

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

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

ls -d /etc/[0-9]*[^0-9]

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

的文件或目录

ls -d /etc/[^[:alpha:]][[:alpha:]]*

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

的文件或目录

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

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

ls -d /etc/*.d

6、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录

ls -d /etc/[mnrp]*.conf

7、只显示/root下的隐藏文件和目录

ls -d /root/.*

ls -aI "[^.]*"  当前目录为/root

l. ls -d .* --color=auto 当前目录为/root

8、只显示/etc下的非隐藏目录

ls -d /etc/*/

8. 怎样在Linux中输入命令

看你是哪个Linux桌面版本了,一共就有两条命令,首先按你键盘上的Alt
+
F2打开运行框,输入gnome-terminal,如果没有执行成功的话,可以改输入terminal,弹出来的黑色或白色的框框就是终端了.

9. 怎样解决在Linux下写的文本到了Windows xp下记事本打开后所有内容挤在一行的现象

这个是 Unix 和 Windows 的换行符表示不一样导致的。
Windows 下面用 ultraedit 就行了,记事本不好用的。

或者 Linux 下面找一个 unix2dos (或者类似的名字吧,很久没用了)。这个程序可以把 unix 文本文件格式转换为 windows 的文本格式。

其实这种 UNIX 换行格式,貌似*只有*记事本不支持,写字板、word、IE 貌似都是支持的。

10. Linux中的qt编程如何分行提取txt文档中的数据

QFile file("in.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream in(&file);
while (!in.atEnd()) {
QString line = in.readLine();
process_line(line);
}

如果要指定某行 加个if判断就行了

阅读全文

与linux分行相关的资料

热点内容
正则命令 浏览:341
javawin10配置环境变量 浏览:564
梁全长箍筋加密怎么设置 浏览:403
苹果appstore怎么填 浏览:688
radiogroupandroid 浏览:152
微信加密手机店能破解吗 浏览:952
如何更换win7补丁服务器地址 浏览:702
如何举报dota2服务器 浏览:584
苹果怎么打链接微信文件夹 浏览:366
阿拉德之路怎么苹果跟安卓一起玩 浏览:241
主力排序选股源码 浏览:149
android无法生成apk文件 浏览:505
如何开一个挂网页的服务器 浏览:538
虞城车辆解压去哪里 浏览:759
如何发送战舰世界命令 浏览:609
二次解压软件是什么意思 浏览:208
公司内网DNS服务器如何输入 浏览:966
服务器f1如何改中文语言 浏览:323
编写文件夹程序 浏览:261
华为防火墙查看mtu的命令 浏览:928