LINUX常见问题20个

LINUX常见问题20个,第1张

LINUX常见问题20个

一、 如何建立多用户

提醒大家一句,别一直使用root用户,因为root用户在系统中有着至高无上的权力,一不小心就可能破坏系统。比如我们想删除/temp目录下的文件却将命令不小心输成“rm / temp(在‘/’后多了一个空格)”,那么就极可能删去根目录下的所有文件。再者,“Linux是一个真正意义上的多任务、多用户系统”,不体会一下Linux的特色岂不可惜。为了方便自己和别人使用,就在Linux系统下多建几个用户吧。

输入“adduser newuser”,回车,屏幕对命令没有一点儿反应,错啦?不,实际上,系统已接受了新用户。你应该接着输入命令 “passwd newuser”,屏幕将提示输入口令,再次输入确认, 一个新的用户就增加成功,真简单。马上登录试一试吧。

Linux提供了六个虚拟控制台,用ALT+F1~F6切换(在X-window下用CRTL+ALT+F1~F6切换),每个控制台均可以用不同的用户登录,运行不同的程序。赶快为家人和朋友建个用户吧。

二、在Linx命令行下依次运行:

cd/

tar xzvf rmp-2.3.11.tar.gz

cd rpm-2.3.11

./configure

make

make install

mkdir /var/local /var/local/lib /var/local/lib/rpm /var/lib/rpm

这样,你就完成了RPM的安装,以后便可以在网上或光盘上寻找软件的RPM安装版。然后使用RPM进行安装,RPM的使用方法很简单:

1. 用RPM安装软件包 :rpm -ivh 软件文件名

例如 rpm -ivh fvwm95-2.0.43a.chinese-1.i386.rpm 屏幕上就会输出该软件包的名称和安装的进度条:

fvwm95 ###############

当进度条走到底,中文fvwm95(一种X-Window的界面)就安装完了,再运行X-Window,啊,全中文的fvwm95就在我的眼前。

2. 用RPM反安装软件包:rpm -e 软件名

例如:rpm -e fvwm95

3. 用RPM升级软件包:rpm -Uvh 软件升级版文件名

例如:rpm -Uvh fvwm95-2.1.0a.chinese-1.i386.rpm,RPM自动反安装原来的老版本,将升级版的软件安装入系统。怎么样,不难吧!

三、如何安装Linux的应用软件

对于普通用户,安装或升级软件可以用Red Hat公司的软件包安装与管理工具RPM。使用后你就可以轻松安装软件、升级软件和卸载软件并查询软件信息。

如果你安装的是Red Hat Linux,那么你就可以使用RPM了,如果不是,你可以先安装RPM。方法如下:

1. 下载RPM软件包: ftp://ftp.redhat.com/pub/code/rpm/rpm-2.3.11.tar.gz

四 、如何在Windows系统中查看Linux的文件

通过使用装载命令mount,我们能够在Linux中轻松地查阅、使用Windows的文件。俗话说有来有往嘛,我们当然也希望在Windows中能看到Linux的文件。可是Windows可不像Linux那么友好,并未备有与Linux沟通的工具,怎么办呢?别急,网络上有个小工具叫Linuxdos,不到500K,运行在Windows下,专用于查看Linux的文件。运行之后,你可以选择驱动器,然后它就像资源管理器一样列出Linux的文件系统。

五、如何汉化Linux

Linux的母语是英文,所以满屏幕都是“英国老鼠”,用起来特不方便,如果想输入中文更没辙。不过现在的中国软件人员可谓人才辈出,已经为Linux的汉化提供了全面的解决方案。

1.中文模拟终端chdrv

首先,总得让Linux能显示中文吧!chdrv是在命令行下的中文模拟终端,也就是说,只要你装上了它,你就可以在Linux的命令行状态下显示和输入汉字了。chdrv启动后在tty7(用Ctrl+Alt+F7)建立一个虚拟终端,用户在tty7上登录后就可以使用它提供的中文支持。tty1到tty6不会受到它的影响。

如果你能找到RPM格式的安装包,就可以轻松地使用RPM安装程序安装它。否则你可以到ftp://ftp.ihep.ac.cn/pub/chinese/system分别取得 chdrv 的已编译的chdrvbin-0.23.gb.tar.gz和字体文件chdrvfont.tar.gz。然后用root登录,依次执行以下命令:

tar xvzf chdrvbin-0.23.gb.tar.gz 将编译好的chdrv解压到chdrv-0.23.gb目录

mv chdrvfont.tar.gz chdrv-0.23.gb/ 将字体文件移到chdrv-0.23.gb目录

cd chdrv-0.23.gb 进入此目录

./installbin 运行安装文件

2.中文输入服务器xcin

如果你常在X-Window中使用Linux,一定试试用XCIN来解决中文输入的问题。XCIN 是Xwindow Chinese INput的缩写,是一个在X-Window模式下运行的中文输入系统,安装它后,X-Window的所有终端都将提供中文服务。

你可从ftp://ftp.ihep.ac.cn/pub/chinese/system/xcingb-2.2.tar.gz取得GB码版的XCIN文件包。然后

用root登录,依次执行以下命令:

tar xzvf xcingb-2.2.tar.gz  解压缩

cd xcingb-2.2 进入目录

./configure  修改安装选项

make 编译

make install  安装

同样,如果你能找到该软件的RPM安装版,可以用RPM来安装。

到此为止,我们已经介绍了在命令行下和X-Window中使用中文的方法。可是在文本编辑软件中依然只能显示中文,却无法输入汉字。要解决这个问题必须自己动手修改两个地方:

1) 为不同shell设置

若使用Bash Shell:在 /etc/profile 增加下面的内容:

stty cs8 -istrip

stty pass8

export LANG=C

export LC_CTYPE=iso-8859-1

若使用Tcsh Shell:在 /etc/csh.login 或 /etc/csh.cshrc 增加设定如下:

stty cs8 -istrip

stty pass8

setenv LANG C

setenv LC_CTYPE iso-8859-1

2) 在自己主目录下的.inputrc文件中增加下面的内容:

set convert-meta off

set output-meta on

3.中文的窗口管理器 C-fvwm95

fvwm95就像是Linux英文Win95,中国的Linux用户一直期望有一天能在中文的窗口下使用Linux。这一愿望现在终于成为现实。中国科学院高能物理研究所计算中心的于明俭先生将fvwm95作了汉化,我们终于可以将fvwm95上那些讨厌的英文换成汉字了!大家可以到ftp.ihep.ac.cn/pub/chinese/packages/中下载汉化了的fvwm95的源代码。它所用的字库也可以在ftp.ihep.ac.cn/pub/chinese/fonts/pcf/中取得。下载文件中附带了安装说明。

4.下载BluePoint Linux Star Preview(蓝点预览版)

蓝点预览版基于Red Hat,内含:中文内核(kernel)控制台中文显示/输入中文Xserver(CXWIN 0.6),X的中文显示/输入汉化Message和相应库文件,经过中文化和本地化处理的NLS message和库文件。

a. 中文内核

1. 性能卓越, 内核实现中文支持,占用资源极少,速度极快.

2. 多语言支持, 同屏显示多内码(GB/BIG5).

3. 兼容性极好,内核兼容上层应用程序,最彻底的解决办法.

4. 支持高分辨率, 完全取决与用户自己的硬件限制.

5. 支持各种字体,支持简繁字体共14种.

6. 热键切换语言环境(GB/BIG5/EN).

b. 中文Xserver

1. 兼容性好,至少95%的纯西文应用软件可以支持中文处理.

2. 内置输入和显示支持,使用非常方便,无须另外安装输入模块.

3. TTF字库支持.

4. 支持GB/BIG5内码.

c. 汉化Message和相应库文件

1. 提示中文化,开机、关机和常用软件的消息提示全部中文显示。

如果需要安装中文xwindow和输入法,则需要下载star-cxwin.tar.gz. 如果需要安装中文控制台及语言环境, 则需要下载star-zhcon.tar.gz 如果需要在控制台上使用24点阵汉字库, 请下载star-font24.tar.gz 注意:别忘了下载Install安装脚本! 在安装前请仔细阅读README和 常见问题问答!

安装方法

1) 创建一个目录, 将所有下载来的文件放在里面.

2) 以root身份执行安装脚本: # bash Install

3) 安装脚本会先检查系统的配置,还会自动搜索TTF字库, 接下来就是对旧配置文件 进行备份, 最后

开始安装.

4) 完成安装, 如果安装了中文控制台环境, 则需要重新启动.

六、如何设置声卡

不用我说,这可是十分要紧的工作!不过如果你安装了RED HAT Linux,则这项工作就简单了!

用root登录系统,运行/usr/sbin/sndconfig。出现选择声卡类型的画面。一般声卡可以选取Sound Blaster 。

选完声卡后再设置有关的资源。用TAB键结合方向键作出选择后,按OK,如果听到Linus(Linux的创始人)说话的声音,就说明声卡设置成功了。真像老式DOS游戏的声卡设置……

七、如何设置显卡

要设置好你的显卡,首先,要知道你的显卡的型号,是什么公司出的,什么样的类型的显卡,显存有几MB,还要知道显卡的显示芯片是什么类型的,是ALG2302的.,还是SIS6326的,还是Savage3D的,等然后,在超级用户的权限下,你可以运行界面比较友好的Xconfigurator工具,这里的X记住一定要大写的,一步一步跟着指导来选择,应该不是很难的,当选择你的显卡的芯片的时钟时,不用选择它,让测试程序自动检查最后,

还要知道你的显示器的类型,是VGA的,还是SVGA的,以及水平和垂直分辩率。你还可以运行界面不友好的xfree86,如果你比较精通Linux的话,用xfree86命令配置的X Windows效果比Xconfigurator好很多的。界面最友好的,当属XF86Setup工具,若你有安装这个工具的话,不妨就用这个工具来设置你的显卡吧。

八、如何设置网卡

九、如何播放CD音乐

声卡设置好了,可以在光驱中插入一张CD,用装载命令mount将光盘载入,然后输入cdp命令就可以播放了。在屏幕上可以看到CD的音轨清单,小键盘的9是播放,7是停止,6进到下一音轨,4退到前一音轨,0退出播放程序,2d出CD,8是暂停。如果是在X-Window中,可以用xplaycd播放CD,这是一个有图形界面的播放器,按钮及功能一目了然,这里就不多说了。

10、如何播放VCD影碟

11、如何拨号上网

12、Linux下能玩游戏吗

光盘中有bsd-games-2.1-3.src.rpm文件包,用RPM命令进行安装,然后到安装目录中去找游戏吧。不过这些游戏都不够精致,如果你想玩好的,就须要进入X-Window,acm是空战模拟游戏,paradise和xpilot是联网战斗游戏,xdemineur是挖地雷(没想到吧),xjewel是俄罗斯方块,xboard是国际象棋,xpat2是扑克牌游戏,xboing是d珠台游戏,还有Doom——大名鼎鼎的第一人称射击游戏!这些游戏有的可以直接调出,有的须要用RPM命令安装。所有的RPM包都在安装光盘中的srpms目录下,自己去看看吧。

十、用xvidtune调整你的显示器

大家会发现装了linux之后在windows下用的好好的显示器有时进到linux的xwindows里后就歪掉了,调整好之后回到windows后windows的桌面也外调了,来回启动系统每次都要调整很麻烦的,这里介绍一个办法一劳永逸j进入linux启动x在xterm里执行xvidtune,会d出这个软件的窗口,点Auto然后点Left,Right等按钮调整你的显示器到最佳的位置,然后点界面上的Show按钮会得到类似这样的输出:

"1152x864" 121.50 1152 1232 1360 1568 864 865 868 911 +hsync -vsync

然后退出这个软件,修改你的/etc/X11/XF86Config-4文件在

Section "Monitor"

Identifier "AS 786T"

VendorName "Unknown"

ModelName "Unknown"

HorizSync 30 - 87

VertRefresh 50 - 160

Option "dpms"

EndSection

里加上刚才的输出,我的是:

Section "Monitor"

Identifier "AS 786T"

VendorName "Unknown"

ModelName "Unknown"

HorizSync 30 - 87

VertRefresh 50 - 160

Modeline "1152x864" 121.50 1152 1232 1360 1568 864 865 868 911 +hsync -vsync

Option "dpms"

EndSection

保存然后重起试试看吧

十一、问:我的机器是windows和linux双系统,如何改变grub默认启动的系统?

答:这需要修改/boot/grub/grub.conf。举一个例子你就明白了。假设你的/boot/grub/grub.conf是这样子的:

default=0

timeout=10

splashimage=(hd0,7)/grub/splash.xpm.gz

title Red Hat Linux (2.4.18-14)

root (hd0,7)

kernel /vmlinuz-2.4.18-14 ro root=LABEL=/

initrd /initrd-2.4.18-14.img

title DOS

rootnoverify (hd0,0)

chainloader +?? 牴 ???? ?1

那么你的grub会默认启动Red Hat Linux (2.4.18-14)这个系统,把default=0改成default=1,那么grub会默认启动DOS这个系统。注意,这里的要点是:你想默认启动第n个title所指的系统,那么default应该是等于n-1

十二、问:我的文本控制台怎么总是出现乱码呢?

答:这是因为你安装了中文支持的缘故。解决的方法是安装一个zhcon(一个快速地外挂式CJK(中文/日文/韩文)的多内码平台),我把他放在附件中提供大家下载。关于zhcon的更进一步的消息,大家可以到他的官方主页zhcon.gnuchina.org查看。安装和使用请参考这个连接http://hepg.sdu.edu.cn/Service/tips/zhcon_manual.html

zhcon下载连接:http://zhcon.gnuchina.org/download/...on-0.2.1.tar.gz

十三、问:我在安装一个软件的时候,提示我缺少一个.so文件,安装无法继续,怎么办?

答:.so文件就像windows中的.dll文件一样,是库文件。一个程序的正常安装和运行需要特定的库文件的支持。所以你需要去找到包含这个.so的包装上。去www.rpmfind.net用你缺的那个.so文件?rpm包

十四、我访问windows分区时发现所有windows分区中的文件和文件夹名中的中文全变成问号,怎么办?

答:在第三贴中我们讲解了通过编辑/etc/fstab实现在linux中访问windows的fat32分区。同样,我们可以通过进一步修改/etc/fstab来实现中文文件名显示。只要把/dev/hda1 /mnt/c vfat default 0 0中的default全改为iocharset=cp936就行了。

十五、我的rh8.0中的XMMS不好使,不能播放MP3,怎么办?

答:这是因为rh公司怕别人告他侵权,所以在rh8.0中去掉了XMMS对MP3的支持,8.0以前的版本都是好使的。

在8.0中要解决也很简单,装一个插件就行了。这个插件我放在本贴的附件里,rpm格式,经winrar压缩

附件: http://www.chinalinuxpub.com/vbbfor...s=&postid=86299

十六、问:我在linux中怎样才能使用windows分区呢?

答:先说一点背景知识 。linux支持很多种文件系统,包括windows的fat32和ntfs。对fat32的支持已经很好,可以直接使用,而对ntfs的支持还不是太好,只能读,而写是极危险的,并且对ntfs的支持不是默认的,也就是说你想要使用ntfs的话,需要重新编译内核。鉴于重编内核对于新手的复杂性,这里只讲解使用fat32分区的方法 下面给出上述问题的两种解决方案:1.在安装系统(linux),进行到分区选择挂载点时,你可以建立几个挂载点,如/mnt/c,/mnt/d等,然后选择你的windows fat32分区,把它们分别挂载到前面建立的挂载点即可。(注意,正如前面所说,在这里你不能把一个ntfs分区挂载到一个挂载点,应为ntfs不是默认支持的。)这样你装好系统后就能直接使用你的windows fat32分区了。例如,你把windows的c盘(linux中的/dev/hda1)挂载到/mnt/c,那么你就能在/mnt/c目录中找到你的c盘中的全部数据。2. 如果你在安装系统时没有像方案1所说的那样挂载上你的fat32分区,没关系,仍然能够很方便的解决这个问题。首先,用一个文本编辑器(如vi)打开/etc/fstab,在文件的最后加入类似如下的几行/dev/hda1 /mnt/c vfat default 0 0你所要做的修改就是,把/dev/hda1改成你要挂载的fat32分区在linux中的设备号,把/mnt/c改成相应的挂载点即可。注意,挂载点就是一个目录,这个目录要事先建立。举一个例子,我有三个fat32分区,在windows中是c,d,e盘,在linux中的设备号分别为/dev/hda1,/dev/hda5,/dev/hda6。那么我就要先建立3个挂载点,如/mnt/c,/mnt/d,/mnt/e,然后在/etc/fstab中加上这么几行:

/dev/hda1 /mnt/c vfat default 0 0

/dev/hda5 /mnt/d vfat default 0 0

/dev/hda6 /mnt/e vfat default 0 0

保存一下退出编辑器。这样以后你重启?? 牴 ???? ?机器后就能直接使用c,d,e这三个fat32格式的windows分区了

十七、问:我的机器重装windows后,开机启动就直接进入了windows,原来的linux进不去了,怎么办?

答:这是由于windows的霸道。重装windows后,windows重写了你的mbr,覆盖掉了grub。解决方法

很简单:用你的linux第一张安装盘引导进入linx rescue模式(如何进入?你注意一下系统的提示信息

就知道了),执行下面两条命令就可以了chroot /mnt/sysimage #改变你的根目录grub-install /dev/hda #安装grub到mbr

十八、问:我的linux开机直接进入文本界面,怎样才能让它默认进入图形界面?

答:修改/etc/inittab文件,其中有一行id:3:initdefault,意思是说开机默认进入运行级别3(多用户的文本界面),把它改成id:5:initdefault,既开机默认进入运行级别5(多用户的图形界面)。这样就行了。

十九、如何同时启动多个x

以前的帖子,估计很多人没看过,贴出来温习一下Linux里的X-Windows以其独特的面貌和强大的功能吸引了很多原先对linux不感兴趣的人,特别是KDE和GNOME,功能强大不说,而且自带了很多很棒的软件,界面非常友好,很适合于初学者。

下面告诉大家一个同时启动6个X的小技巧:

在~/.bashrc中加入 以下几行:

alias X=startx -- -bpp 32 -quiet&

alias X1=startx -- :1 -bpp 32 -quiet&

alias X2=startx -- :2 -bpp 32 -quiet&

alias X3=startx -- :3 -bpp 32 -quiet&

alias X4=startx -- :4 -bpp 32 -quiet&

alias X5=startx -- :5 -bpp 32 -quiet&

其中32是显示器的色彩深度,你应该根据自己的实际情况设置。

之后运行

# bash

使改变生效,以后只要依次运行X,X1,X2,X3,X4,X5就可以启动6个X-Windows了。

二十、装了rpm的postgresql之后启动

/etc/init.d/postgresql start是不能启动postgresql的tcp/ip连接支持的,所以打/etc/init.d/postgresql这个文件把su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl -D   $PGDATA -p /usr/bin/postmaster start >/dev/null2>&1" </dev/null改为:

su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl -o -o -F -i -w -D   $PGDATA - /usr/bin/postmaster start >/dev/null2>&1" </dev/null

这样就可以启动数据库的tcp/ip链接了

Linux命令分为内部命令(shell自带的命令)和外部命令(不是shell自带的命令,由用户安装),怎么鉴别是内部命令和外部命令呢?可以通过type命令来鉴别

什么是shell呢?shell是一个程序,常用的有bash shell,平时我们通过用户名和密码登录到linux,其实就是登录到bash shell程序,通过bash shell来 *** 作linux内核

命令执行流程

那岂不是说使用外部命令效率会很慢吗?

其实一点都不慢,它会去PATH环境变量设置的一堆目录中查找

cd is a shell builtin 表示内部命令

ifconfig is hashed (/usr/sbin/ifconfig) 表示外部命令

cd命令切换文件夹

现在我们cd /usr/sbin

通过cat命令查看文件内容

通过cat ifconfig来查看ifconfig,发现是乱码文件

file命令查看文件类型

输入file ifconfig

从输出信息可以看出它是一个二进制可执行文件

whereis命令查看文件位置

find / -name jdk

echo命令用户打印信息,相当于java中的system.out.println

可以使用回车查看下一行、空格查看下一页、q退出

一般使用man查看外部命令,help查看内部命令

查看linux下的应用和应用的进程号

当我们在这个窗口中输入kill -9 1593的话,另外一个正在编辑文件的进程就会退出

在前面我们已经讲过,bash shell程序在执行命令的一个过程及原理,对于外部命令,它会去PATH这个环境变量中查找执行命令所在的路径,当然在去PATH中寻找之前会先去hash表中查找这个命令有没有执行过,执行过的话会记录在hash表中,则此次查找只需从hash表中就可以很方便的找到

查看分区信息 -h 表示文件大小后面会显示文件大小

查看文件的使用情况

使用man ls 查看ls命令的相关介绍

-a:可以查看隐藏文件

-l:以长列表的形式展示文件列表信息

第一位 -:表示文件,d表示文件夹,b表示块设备文件,c表示字符设备文件,p表示命令管道文件,s表示套接字文件, 从第二位开始往后数九位表示属主权限(每三位一组 rwx:读、写、执行),第11位表示的点表示分隔符,点后面的数字表示文件有几个硬连接,第一个root代表属主名,第二个root代表这个第一个root所在的组织,接下来的5表示文件大小,5后面的日期表示文件最后一次修改的时间, 1.txt代表的文件或文件夹的名称

小结:

切换文件目录

cd 文件路径

cd:切换到家目录

cd ~:回到家目录(也就是家目录)

cd ..:回到上一级目录

创建目录

mkdir 目录名

mkdir -p 目录名,级联创建目录

cp 被拷贝的文件(可以是路径加文件名) 拷贝到哪个位置

复制目录使用

cp -r 被拷贝的目录 目标位置

移动命令

mv 被移动的文件 目标位置+目标文件名

rm 文件名(此中方式的删除需要再输入 yes)

rm -f 文件名,无提示直接删除

rm -rf 文件夹

ln命令默认创建的是硬连接

ln profile a:将a硬连接到profile文件上,他们底层共用一个文件,删除他们之中任何一个

对另外一个没有影响,同时你也可以使用 ll -i命令查看文件编号

ln -s profile a:将a软连接到profile文件,当你访问a的时候会去访问profile,profile再访问底层文件,当将profile删除了之后a就无法访问了

一致时间、创建新文本

touch 已存在的文件:会将文件的访问时间、更新时间、改变时间(即上面stat中介绍的三个时间)变成一致

touch 不存在的文件:会创建一个新的文本

cat命令查看文件内容

cat 1.txt:查看单个文件内容

cat 1.txt 2.txt:查看多个文件

more 1.txt:以分页的形式查看文件内容,按空格:下一页,回车:下一行(注意它不能回看,回看的话只能用鼠标回轮)

less 1.txt:使用空格下一页, b看上一页, 回车看下一行

注意less的话会把整个文件内容加载到内存,如果文件比较大的话,建议使用more命令查看

head命令默认查看文件前10行内容, head 1.txt

head -5 1.txt:查看文件前5行的内容

tail命令默认查看文件后10行的内容 tail 1.txt

tail -5 1.txt:查看文件后5行内容

tail -f 1.txt:实时查看文件增量内容

cat b.txt | head -3:管道左边的命令会以输出流的形式交给管道右边的命令,管道右边以输入流的形式接收并且拼到命令的右边

注意:ls -l 不能接受前面的输出流,这个怎么办呢?可以通过xargs命令

vi文本编辑器末行模式的 *** 作

set nu(number的缩写): 设置行号

set nonu(nonumber的缩写):取消行号

set readonly:设置为只读

n:往下查找

N:往上查找

n:往上查找

N:往下查找

一般我们会在/etc/profile文件中设置一些环境变量,但是在设置的时候可能没有记住目录,这时候我们可以使用如下方式

效果

格式 :s/str1/str2/gi

/ : 临近s命令的第一个字符边界字符,也可以是 @或#

g : 一行内全部替换

i : 忽略大小写

范围

n:行号

. :当前光标行

+n :偏移n行

-3

%:全文

全部删除 1,$d

删除前三行

删除倒数第2行

光标挪到最后一行 按下小写的p

效果图

正则表达式是对字符串 *** 作的一种逻辑公式,就是用事先定义好的一些特殊字符、及这些特定字符的组合组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。

\ :转义字符

. :匹配任意单个字符

[1249a] :匹配中括号中任意字符

[^12] :匹配中括号中任意非1和2的字符

[a-k] :匹配中括号中任意a~k中的一个字符

^ :行首

$ :行尾

<abc>:单词首尾边界(匹配单词abc)

| :连接 *** 作符

(,) : 选择 *** 作符

\n :反向引用

? :匹配0到1次

在Linux中通过grep命令使用正则表达式来匹配信息

f :选择显示的列

s :不显示没有分隔符的行

d :自定义分隔符

n :按数值排序

r :倒序

t :自定义分隔符

K :选择排序列

u :合并相同行

f :忽略大小写

sed:行编辑器,以行为单位进行处理,可以将数据进行替换、删除、新增、选取等特定工作

sed [options] 'Command' file ...

-n :静默模式,不再默认显示模式空间(内存)中的内容

-i :直接修改原文件

-e SCRIPT :可以同时执行多个脚本

-f /PATH/TO/SED_SCRIPT

-r :表示使用扩展正则表达式

d :删除符合条件的行

p :显示符号条件的行

a \string :在指定的行后面追加新行,内容为string

\n :可以用于换行

i \string :在指定的行前面添加新行,内容为string

c :取代,c的后面可以接字符串

s /pattern/string/修饰符:查找并替换。默认只替换每行中第一次被模式匹配到的字符串

g :行内全局替换

i :忽略字符大小写

s///:s###,s@@@

(),\1,\2

sed "2p" ctxt

但是在执行下面的 *** 作的时候文本中的内容都显示出来了,它的原理是,打印匹配的行,以及文本中所有的内容

注意:它删的是内存中的数据,而不是目标文件

sed -i "3d" ctxt

它的原理是先把内存中的第3行数据删除,然后再把内存中的数据写回原文件,这时原文件中的第三行就没有了

使用变量的形式

awk是一个强大的文本分析工具。

相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。

简单来说awk就是把文件逐行的读入,(空格,制表符)为默认分隔符将每行切片,切开的部分再进行各种分析处理。

awk -F '{pattern + action}' {filenames}

支持自定义分隔符,默认是以空格分隔的

支持正则表达式匹配

支持自定义变量,数组 a[1] a[tom] map(key)

支持内置变量

ARGC 命令行参数个数

ARGV 命令行参数排列

ENVIRON 支持队列中系统环境变量的使用

FILENAME awk浏览的文件名

FNR 浏览文件的记录数

FS 设置输入域分隔符,等价于命令行 -F选项

NF 浏览记录的域的个数

NR 已读的记录数

OFS 输出域分隔符

ORS 输出记录分隔符

RS 控制记录分隔符

支持函数

print、split、substr、sub、gsub

支持流程控制语句

if、while、do/while、for、break、continue

练习题

passwd文件内容解读:

passwd文件中每行由7个字段组成,字段与字段之间由:分隔,第一个字段代表用户名,第二个字段表示用户对应的加密后的密码,第三个字段表示userId,第四个字段表示groupId,第五个字段表示对用户的描述,第六个字段表示用户的家目录,第七个字段表示的是这个用户默认使用的shell

其中$0表示整行

统计报表:合计每人1月工资, 0:manager,1:worker

将awk后面的内容封装到一个文件中(封装的脚本要遵循一定的格式)

qqq文件的内容格式

Linux一般可以应用在以下领域:1、桌面应用。随着ubuntu、fedora等优秀桌面环境的兴起,Linux在个人桌面领域的份额逐渐增加。2、嵌入式应用。Linux运行稳定,对网络支持好,成本低广泛支持大量微处理器架构、硬件设备、图形支持和通信协议。3、服务器应用。Linux系统可以为企业架构WWW服务器、数据库服务器、负载均衡服务器、邮件服务器、DNS服务器、代理服务器、路由器等。近年来,Linux服务器市场发展迅速,尤其是在一些高端领域。使用Linux不仅降低了企业的运营成本,而且实现了Linux系统带来的高稳定性和高可靠性,不需要考虑商业软件的版权问题。很多企业逐步转入Linux服务器的使用。目前Linux *** 作系统已然得到广泛应用,并且已参透到电信、金融、政府、教育、银行、石油等行业。各大互联网企业都在使用Linux系统作为其服务器端的程序运行平台。Linux系统在服务器市场前景光明,相应的互联网也增加了Linux运维人员的需求量。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存