当前位置:首页 » 操作系统 » grlinux

grlinux

发布时间: 2022-05-14 16:12:13

linux 怎么进入单用户模式

1、在grup主界面按a(在系统启动前修改内核参数),在命令行最后添加S或者single,按回车即可进入。

2、在grub主界面按e(修改系统启动时使用的grub命令),选择启动使用的内核,在命令最后添加S或者single,按回车返回,按b进入系统。注:修改是单次生效,不会影响系统启动配置。

3、在grub主界面按c,进入grub 命令行交互模式。
在许多单用户环境下,文件系统的根目录是按只读方式安装的。如果/tmp是根文件系统的一部分,那么许多要使用临时文件的命令(例如:vi)都不能执行。为了解决这个问题,必须先把根文件系统(/)以读写方式进行安装,再开始单用户模式的交互操作。下面这条命令通常就能实现这个技巧。
#mount -o rw,remount /

❷ linux shell脚本

gp命令?在linux和mac上试了下,发现没这个命令。。。我就理解为grep命令吧。

没错,“|”是或,但是你这里的理解不太对,“|”前后是两个独立的pattern,所以你第2条命令应该是匹配“gr(a”或“e)y”,并且此处的“|”应该要写成“|”。

另外,不同的正则表达规则可能不一样,比如grep -E "gr(a|e)y"是可以输出正确结果的。

所以,两个解决方案:

  1. 把你第2条命令改成

    1. ls|grep"gray|grey"
  2. 把你第2条命令改成

    1. ls|grep-E"gr(a|e)y"

❸ linux的安装问题

1 Red Hat Enterprise Linux 5的安装
安装Red Hat Linux的硬件要求如下,一般现在的电脑配置都可以满足这些要求了哈: CPU:Pentium以上处理器。文本模式推荐配置:200MHz奔腾或更高,图形模式推荐配置:400MHz奔腾内存:文本模式最小内存值128MB,图形模式最小内存值:192MB,推荐使用256MB以上的内存。硬盘:RHEL5安装需要3GB以上的硬盘空间,完全安装全部软件包需大约5GB的硬盘空间。显卡:VGA兼容显卡。光驱:CD-ROM/DVD-ROM。其他设备:如声卡、网卡和Modem等。软驱:可选
Red Hat网站提供了经过兼容性测试和认证的“硬件兼容性列表”,在得到系统硬件设备的具体型号后,最好访问http://bugzilla.redhat.com/hwcert/来查看用户的配置是否在清单之中Linux 支持在一台计算机中安装多个操作系统,它通过使用GRUB多重启动管理器来支持多操作系统并存,GRFreeBSD、OpenBSD、DOS 和Windows等操作系统。计算机启动时,用户可以使用GRUB提供的菜单选择需系统,所以不必担心出现安装了Linux后,导致其他操作系统不能使用的问题。
Redhat支持不同的安装方式(如光盘安装、硬盘安装及网络安装),我们首先以最基本、最常用的光盘安装开Linux介绍及Redhat5.1基础可以参考【51CTO_RHCE讲座】RHCE课程笔记专题。
不可与root分区分开的目录:/dev,/etc,/sbin,/bin,/lib,系统启动时,核心只载入一个分区,那就是/,加载/dev,/etc,/sbin,/bin,/lib五个目录的程序,所以以上几个目录必须和/根目录在一起。最好单独分区的目录:/home,/usr,/var,/tmp,出于安全和管理的目的,以上四个目录最好要独立出来,samba服务中,/home目录我们可以配置磁盘配额quota。
我们以40G硬盘为例: /boot 100MB / 10GB
swap 512MB /home 10GB /usr 8GB /var 5GB /tmp 3G
1.1 Red Hat Enterprise Linux 5光盘安装
这样我们就到了RHEL5安装界面,点回车是以图形截面安装,输入linux text是用CLI安装.
这里我们选语言为简体中文。
按OK
这里选美式键盘US
这里可以输入RHEL5.1的序列号,也可以跳过不填,对安装应用没关系。RHEL 5安装序列号哈Server: * Red Hat Enterprise Linux (Server including virtualization): 2515dd4e215225dd * Red Hat Enterprise Linux Virtualization Platform: 49af89414d147589 Client: * Red Hat Enterprise Linux Desktop: 660266e267419c67 * Red Hat Enterprise Linux Desktop + Workstation Option: da3122afdb7edd23 *Red Hat Enterprise Linux Desktop + Workstation + DualOS Option (Virtualization): 7fcc43557e9bbc42 *Red Hat Enterprise Linux Desktop + DualOS Option (Virtualization): fed67649ff918c77
提示要初始化硬盘,选YES继续。
这里分区我们选择自定义
我们进行硬盘分区: New 就是建立新的分区EDIT 就是更改已有的分区DELETE 就是删除已建立的分区RESET 就是把你刚才的设定全部取消。恢复到现在的样子RAID 是磁盘阵列
LVM 是逻辑卷
/boot 100MB,记住,boot需要放在磁盘的第一个分区上,怎么看是不是在第一个分区上?看开始的块是不是1
/ 根目录 10G
swap 512MB 一到两倍内存容量
/home 10G 存放普通用户信息
/usr 8G linux系统所在位置
/var 5G 默认服务器的登录文件(邮件与WWW默认路径)
/tmp 3G
最后分区结果如下,按OK继续:
选择Use GRUB Boot Loader
这步选择默认
这里设置GRUB密码,可以设置也可以不设置,如果设置了请记住自己的密码哈。
这里点OK就可以了
这里我们安装在MBR
这里选择YES配置网卡
选择启用IPv4支持,IPv6可以不选,一般都没用
这里选择手动配置网卡192.168.0.0/24
这里输入你的网关及DNS服务器地址
输入主机名,我输入的是RHEL5
时区选择Asia/Shanghai
配置ROOT密码,输入两次,记住自己输入的口令哦
我们去掉Virtualization组件并选择自定义安装软件包。
自定义安装软件包时,我们添加Development Libraries和Development Tools组件,保证系统软件开发的程工具完整性,然后OK下一步,服务器软件我们以后自己装。
LINUX要安装软件都是需要检测依耐关系的
开始安装,安装日志在/root/install.log
Linux安装已经完成,重启一下计算机
选择退出
到了Linux登录界面
以root帐户登录
在CLI界面下我们要启动图形界面可以输入startx,我们如果要修改成一直图形界面启动Linux,可以输入vi /etc/inittab,键入i编辑把id:3改成id:5,保存退出。
1.2 Red Hat Enterprise Linux 5硬盘安装
如果我们没有RHEL5.1的安装光盘,只有它的ISO镜像文件,那我们可以进行RHEL5.1硬盘安装。我们可以RHEL5.1的ISO镜像文件放在主机的一个可用分区上(比如FAT/FAT32文件系统),NTFS是不行的哈,如果fat32格式,只有NTFS格式,那我就没有办法了,因为好象NTFS格式转化为fat32风险比较大,最好的办法空余空间分出3GB主分区,作为fat32文件系统。把RHEL5.1镜像文件到那个分区也可以。
注意: 划分出来的3G分区最好是分为主分区,也可以是fat32格式的C盘,或者是D盘(也就是/dev/hda5),因分成其他逻辑分区后RHEL5硬盘安装时报错。总是提示Error informing the kernel about modifications to partition /dev/sda5 - 设备或资源忙。结果格了N次,系统重做N次,汗~~~
需要提取RHEL5镜像下isolinux目录里面的两个文件。vmlinuz 和initrd.img. isolinux目录下包含了从 CD 启动所需要的文件: vmlinux是一个可执行文件,包含静态与Linux内核的可执行文件格式; initrd.img映像中包含了支持Linux系统核心两个阶段引导过程所需要的必要可执行程序和系统文件initrd; 我们把vmlinuz、initrd.img及rhel5镜像文件放到我们划分出来的那个3GB的分区上。
先到网上http://download.gna.org/grub4dos/下载一个grub-for-dos的工具(附件里的就是),我这里下grub4dos-0.4.4-2008-11-19.zip。
可从以下网址下载GRUB4DOS最新版及较早版本。http://download.gna.org/grub4dos/ http://download.gna.org/grubutil/ http://grub4dos.jot.com/WikiHome https://gna.org/projects/grub4dos/ http://grub4dos.sourceforge.net/wiki (官方说明文档)
下载grub4dos后,解压缩后就可以了。核心文件有下面这几个:grldr和grub.exe,及menu.lst(此为样本改)。如果你需要中文支持,就用chinese子目录中的文件。
通过Windows NT/2000/XP/2003的启动管理器启动GRUB4DOS 在 Windows NT/2000/XP/2003中,可以把grldr和menu.lst拷贝到C:\。
然后在boot.ini的最后加上一行:c:\grldr="Start GRUB4DOS"
如果boot.ini中的timeout值为零,把它设置为大于0的数字,例如timeout=30,然后保存boot.ini。
注意:boot.ini文件一般是隐藏的,你需要在文件夹选项中设置显示所有文件,或者在cmd中使用以下命令来boot.ini的隐藏属性。
编辑boot.ini前,可在cmd下输入: attrib -s -r -h c:\boot.ini 解除boot.ini的只读属性,编辑完后输入: attrib +s +r +h c:\boot.ini 恢复boot.ini的原有属性。
下一次启动Windows时,你会发现启动画面中多了Start GRUB4DOS这一选项,使用它便可启动GRUB4D
该方案的优点:不需要修改MBR和启动扇区
参考,感兴趣的可以自己研究下: 对于多数没有或很少接触过linux的windows用户来说,刚开始使用grub时离不开菜单。也就是说,使用g们要准备menu.lst文件。下面是一个menu.lst的例子。(以#开始的行,表示注释,不执行) # 默认延迟时间(秒) timeout 30 # 第一项为默认值default 0 # 设置图形背景文件splashimage (hd0,0)/boot/grub/xp2008.gz # 设置中文支持的字体文件fontfile (hd0,0)/boot/grub/fonts title 使用map启动本地硬盘上的瑞星杀毒软盘镜像文件map (hd0,0)/boot/grub/rav.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) title 使用memdisk启动本地 Win98 软盘镜像文件kernel (hd0,0)/boot/grub/memdisk.gz initrd (hd0,0)/boot/grub/win98.img title 使用memdisk启动本地硬盘上的瑞星杀毒软盘压缩镜像文件root (hd0,0) kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy initrd /boot/rav.zip title 启动第一主分区(hd0,0)上的操作系统rootnoverify (hd0,0) makeactive chainloader +1 title 启动第二主分区(hd0,1)上的操作系统
rootnoverify (hd0,1) makeactive chainloader +1 title 重启reboot title 关机halt 参考这个例子,我们就可以根据自己需要对菜单进行修改。比如从网上下载了效率源的镜像文件,文件名为XLY.IMG。我们只需把title 使用memdisk启动本地 Win98 软盘镜像文件kernel (hd0,0)/boot/grub/memdisk.gz initrd (hd0,0)/boot/grub/win98.img 改成title 硬盘检测修复工具效率源 (memdisk) kernel (hd0,0)/boot/grub/memdisk.gz initrd (hd0,0)/boot/grub/xly.img 或者改成title 硬盘检测修复工具效率源 (map) map (hd0,0)/boot/grub/xly.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) 同时把xly.img文件保存到第一主分区(一般是C:)的boot\grub目录下。当然也可以保存到其它路径。比如xly.img文件保存到C:\boot下,则menu.lst文件相应改为: map (hd0,0)/boot/xly.img (fd0) 又如xly.img文件保存到D:\test下,则menu.lst文件相应改为: map (hd0,4)/test/xly.img (fd0) (参看下面的注意d) 从上面的例子可以看出,启动软盘镜象,有两种方式,即用memdisk或用map。用memdisk时,img文件可压缩;在img文件大小为非1.44MB或2.88MB标准镜像时,需要指定CHS参件的CHS参数可用winimage获得。即例子中的: title 使用memdisk启动本地硬盘上的瑞星杀毒软盘压缩镜像文件root (hd0,0) kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy initrd /boot/rav.zip 另外,菜单文件中的文件路径可用相对路径(如:/boot/rav.zip)或绝对路径(如:(hd0,0)/boot/grub/xly示。map方式对软盘映像大小没有限制,但要求必须连续存放。改进的map --mem则无此限制。比如: map --mem /boot/xxx.ima (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) 注意: a, 菜单文件中所用的memdisk.gz文件,不包括在grub4dos的发行包里,需自行准备。可从gnu grub软件它基于grub的工具(如一键ghost,本人的gghost)中获得。b, 菜单中所用的其它文件如xp2008.gz(背景文件)、fonts(中文字体文件)及各种镜像文件等,均需拷贝定路径。 fontfile命令不可单独使用,需与splashimage一起使用。c, 菜单文件中的命令全部使用小写。

❹ Linux操作系统文件访问权限详解

一直以root登陆使用linux的人来说很少有权限被拒这种概念,但某些时候又深受权限拒绝困扰。
知道为什么很多程序中需要使用getuid(),setuid()?为什么以普通权限登陆的用户不能进入/root,为什么在/目录下执行ls -l后可以显示root的信息,但ls /root -al却是权限不够?为什么有些文件夹可以继续创建文件,但就是不能ls?等等,相信看了此文就能明白。
主要是学习笔记,不足之处请指正。
CentOS 5.4 [testc@xxx opt]$ uname -a Linux xxx 2.6.18-164.el5xen #1 SMP Thu Sep 3 04:47:32 EDT 2009 i686 i686 i386 GNU/Linux
一、口令文件1,格式存储文件/etc/passwd,格式如下:root:x:0:0:root:/root:/bin/bash aaa:x:501:501:bj, bj, 8111111,136000111:/home/aaa:/bin/bash用户名:加密密码:用户ID:组ID:注释:工作目录:shell:
默认情况是第一行的格式;注释字段可以自行修改,用逗号隔开,如第二行格式,这主要是给finger命令使用时可解析。
可以vi /etc/passwd修改,但为了保证其格式的正确性,请用vipw命令编译此文件。
sh-3.2# finger aaa Login: aaa Name: bj Directory: /home/aaa Shell: /bin/bash Office: bj, 8111111 Home Phone: 136000111 Never logged in. No mail. No Plan.
2,编程实例
/*getpwnam_pwuid.c*/ #include #include #include
int main(void)
{ //struct passwd *pwd = getpwnam("aaa");struct passwd *pwd = getpwuid(501);if(pwd == NULL)
{ printf("err.\n");return 1;}
printf("name:%s\n", pwd->pw_name);printf("passwd:%s\n", pwd->pw_passwd);printf("description:%s\n", pwd->pw_gecos);printf("uid:%d\n", pwd->pw_uid);printf("gid:%d\n", pwd->pw_gid);printf("dir:%s\n", pwd->pw_dir);printf("shell:%s\n", pwd->pw_shell);
return 0;}
sh-3.2# gcc getpwnam_pwuid.c -o app sh-3.2# ./app name:aaa passwd:x description:bj, bj, 8111111,136000111 uid:501 gid:501 dir:/home/aaa shell:/bin/bash
二、组文件1,格式存储文件/etc/group,格式如下root:x:0:root bin:x:1:root,bin,daemon aaa:x:501:组名:加密密码:组ID:指向的各用户名
2,改变文件uid和gid.
sh-3.2# pwd /root/study sh-3.2# ls -al -rw-r——r—— 1 root root 397 10-11 03:23 test.c
chgrp 改变所属组ID,当然只有root权限才可以修改。
sh-3.2# chgrp aaa test.c sh-3.2# ls -al -rw-r——r—— 1 root aaa 397 10-11 03:23 test.c
这个aaa就是新组名,其在/etc/group中,可以通过adser aaa自行添加sh-3.2# cat /etc/group root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon.
gdm:x:42:sabayon:x:86:plmtest:x:500:aaa:x:501:
chown 改变用户ID或组ID sh-3.2# chown aaa:aaa test.c sh-3.2# ls -al -rw-r——r—— 1 aaa aaa 397 10-11 03:23 test.c
3,编程实例
/*getgrnam.c*/ #include #include
int main(int argc, char *argv[])
{ if(argv[1] == NULL)
{ printf("input error.\n");return 1;}
struct group *gp = getgrnam(argv[1]);if(gp == NULL)
{ printf("err.\n");return 1;}
printf("name:%s\n", gp->gr_name);printf("psswd:%s\n", gp->gr_passwd);printf("gid:%d\n", gp->gr_gid);
int i;for(i = 0; gp->gr_mem[i] != NULL; i++)
{ printf("group name:%s\n", gp->gr_mem[i]);}
return 0;}
sh-3.2# gcc getgrnam.c -o app sh-3.2# ./app bin name:bin psswd:x gid:1 group name:root group name:bin group name:daemon 4,文件权限不细讲了sh-3.2# ls -al总计 483984 drwxr-x—— 13 root root 4096 02-22 00:01 . drwxr-xr-x 32 root root 4096 02-21 21:15 ……
-rw-r——r—— 1 root root 464023491 10-25 22:33 3.3.005-080425.tgz -rw—— 1 root root 9346 02-21 23:16 .bash_history -rw-r——r—— 1 root root 24 2007-01-06 .bash_logout -rw-r——r—— 1 root root 191 2007-01-06 .bash_profile -rw-r——r—— 1 root root 176 2007-01-06 .bashrc drwxrwxrwx 10 1000 users 4096 08-23 20:16 cflow-1.3 -rw-r——r—— 1 root root 759691 08-23 20:13 cflow.tar.gz -rw-r——r—— 1 root root 100 2007-01-06 .cshrc -rwxr-xr-x 1 root root 582 11-11 21:48 delete_M.sh -rw-r——r—— 1 root root 2518 11-11 20:25 .dir_colors
主要是最左边一列:drwxr-x——10个字符,最左边是文件类型,-默认为普通文件;d:目录文件;l符号链接……
后面9个,3个一组共三组,分别表示所属用户uid的权限;所属组或者附属组gid的权限;其它权限。
三个字符分别是读、写、执行权限读4,写2, 执行1
所以chmod 777 test.c,提升到读、写、执行权限。
5,组权限操作实例此节演示相同组的成员之间共享资源,即不同uid但相同gid的用户共享同一组的资源。
为了方便起见,我同时开了两个终端。
"sh-3.2#"以root权限登陆的shell /bin/sh "[testa@xxx root]"以testa用户登陆的shell
注:下文提到的“用户”是指/etc/passwd里定义的通过终端登陆的用户(此文即以下增加的三个账号名)。
sh-3.2# useradd testa sh-3.2# useradd testb sh-3.2# useradd testc
sh-3.2# tail -f /etc/passwd -n 4 sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin testa:x:500:500::/home/testa:/bin/bash testb:x:501:501::/home/testb:/bin/bash testc:x:502:502::/home/testc:/bin/bash
再开一个终端登陆testa,之前那个终端保持。
sh-3.2# su testa [testa@xxx root]$ id uid=500(testa) gid=500(testa) groups=500(testa)
[testa@xxx home]$ ls -al总计 28 drwxr-xr-x 5 root root 4096 02-21 22:52 . drwxr-xr-x 32 root root 4096 02-21 21:15 ……
drwx—— 3 testa testa 4096 02-21 22:56 testa drwx—— 3 testb testb 4096 02-21 22:48 testb drwx—— 3 testc testc 4096 02-21 22:52 testc
[testa@xxx home]$ cd testb bash: cd: testb: 权限不够
通过root修改testb目录权限为770,即当前uid或者gid相同的用户均有读写执行权限。
sh-3.2# cd /home/ sh-3.2# chmod 770 testb
[testa@xxx home]$ ls -al总计 28 drwxr-xr-x 5 root root 4096 02-21 22:52 . drwxr-xr-x 32 root root 4096 02-21 21:15 ……
drwx—— 3 testa testa 4096 02-21 22:56 testa drwxrwx—— 3 testb testb 4096 02-21 22:48 testb (here modify)
drwx—— 3 testc testc 4096 02-21 22:52 testc
[testa@xxx home]$ cd testb bash: cd: testb: 权限不够[testa@xxx root]$ id uid=500(testa) gid=500(testa) groups=500(testa)
此时虽然开放了testb的所属组权限,但用户testa的gid=500(testa) groups=500(testa),它还不属于testb组。
下面修改testa的gid为testb(或者增加其附属组groups值为testb)
sh-3.2# usermod -G testb testa (增加用户testa的附属组testb)
sh-3.2# id testa uid=500(testa) gid=500(testa) groups=500(testa),501(testb)
此时testa终端需要重新登下,使刚才更改生效[testa@xxx root]$ exit exit [root@xxx ~]# su testa [testa@xxx root]$ id uid=500(testa) gid=500(testa) groups=500(testa),501(testb)
[testa@xxx root]$ cd /home/ [testa@xxx home]$ ls -al总计 28 drwxr-xr-x 5 root root 4096 02-21 22:52 . drwxr-xr-x 32 root root 4096 02-21 21:15 ……
drwx—— 3 testa testa 4096 02-21 22:56 testa drwxrwx—— 3 testb testb 4096 02-21 22:48 testb drwx—— 3 testc testc 4096 02-21 22:52 testc [testa@xxx home]$ cd testb [testa@xxx testb]$ pwd /home/testb
以上是增加了用户testa的附属组testb,使其对于属于testb组的资源有了访问权限。
下面再使用newgrp切换用户testa的gid.
[testa@xxx testb]$ id uid=500(testa) gid=500(testa) groups=500(testa),501(testb)
[testa@xxx testb]$ newgrp testb [testa@xxx testb]$ id uid=500(testa) gid=501(testb) groups=500(testa),501(testb)
此时testa用户的gid已改为501(testb)。
组之前的关系在文件/etc/group sh-3.2# tail -f /etc/group -n 4 sabayon:x:86:testa:x:500:testb:x:501:testa (最后一列:组内用户列表。即组testb里包含testa,testa属于testb组,大概就这意思吧……)
testc:x:502:
虽然知道控制组关系的文件,但不能直接修改些文件,否则执行newgrp时会出现"抱歉"错误提示。
当然root用户权限是无限制的,它访问文件时不需要进行权限检查。
三、相关系统调用getuid();getgid();int setuid(uid_t uid);int setgid(gid_t gid);
只有超级用户或者需要设置的uid和当前用户的uid一致才可以设置,否则返回-1,置errno = EPERM, errno可以通过strerror()翻译。
其它:[testa@xxx home]$ su testa [testa@xxx home]$ sudo touch aa
testa is not in the sudoers file. This incident will be reported.
以root权限vim /etc/sudoers增加testa ALL=(ALL) ALL
参考:APUE2E,1.8, 4.4, 8.11

❺ 本人电脑是双系统win10和ubuntu,把Linux分区直接删除了,结果直接重启了后就一直是gr

方法1.EasyBCD 软件,此软件是作为系统引导所用

下载地址:http://dl.pconline.com.cn/download/90611.html
当你不要 ubuntu 的时候,直接在 window 里磁盘管理删了它所在的分区,然后在 Easybcd 里 删了它的引导就行,不影响你的 windows 系统
方法2.请制作一个U盘的PE系统(win8PE)

BIOS设置启动顺序为U盘,
启动后,试下用分区工具,恢复一下MBR
重写MBR使默认启动WIN的菜单

❻ 电脑有双系统,linux和win8,引导是在linux盘,结果把linux盘误删除了,开机进入gr

呵呵,据我所知,由于你的win是建立在linux上的,所以……只能全部重做了

❼ linux查找内容命令

find,用于在文件树中查找文件并作相应的处理

-name:按照文件名查找文件

-perm:按照文件权限查找文件

-user:按照文件属主来查找文件

-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】

-group:按照文件所属的组来查找文件

-mtime<-n><+n>:按照文件更改时间来查找文件,-n表示n天之内,+n表示n天以前

-newer file1 file2:查找更改时间在file1和file2之间的文件

例如:

  • find -mtime -2:查找48小时修改过的文件

  • find -name ".log":查找当前目录以".log"结尾的文件

  • find /opt/soft/test -perm 777:查找指定目录下权限为777的文件

  • find -type f -name "*.log":查找当前目录下以".log"结尾的普通文件

  • find -type d | sort:查找当前所有目标目录并排序

  • find /home/wansw -size +20M:查找大于20M的文件

  • locate指令,可以快速定位文件路径,利用事先建立的系统中的所有文件名称和路径的locate数据库,无需遍历整个文件系统,查询速度较快,为了保证查询准确性,需要定期更新。《Linux就该这么学》

  • updatedb:第一次运行前,创建locate数据库

  • grep,用于过滤/搜索指定字符串。可以使用正则表达式,能配合多种命令使用。

    用法:grep 【选项】 查找内容 源文件

    -A:显示符合的行及之后的内容

    -B:显示符合的行及之前的内容

    -C:显示符合的行及前后的内容

    -c:计算符合的行数目

    -n:显示匹配行和行号

    -i:忽略大小写

    规则表达式

    :'grep'表示匹配所有以grep开头的行

    '表示匹配所有以grep结尾的行

    .:'gr.p'表示匹配'gr'后面接任意字符然后是'p'

    :'grep'表示匹配一个或多个空格后紧跟grep的行

    []:[Gg]rep表示匹配Grep与grep

    []:[A-FH-Z]rep表示匹配不以A-F、H-Z开头并紧跟rep的行

    例如(grep命令大多数时候多要和别的命令一起使用才有意义):

    ps -ef | grep -c SVN:查找指定的进程的个数

    cat test.txt | grep -f test2.txt:从text2.txt中读取关键字后在test.txt中搜索

    cat test.txt | grep nf text2.txt:从text2.txt中读取关键字后在text.txt中搜索并显示行号

    grep 'linux' text.txt test2.txt:从多个文件中搜索关键字'linux'

    cat test.txt | grep -E 'ed|at':显示包含ed或at的行

❽ 如何在Linux系统释放磁盘空间

释放Linux磁盘空间的一种方法

1、用df 检查发现/根目录可用空间为0

[root@/]#df -h

2、用检查发现 各目录占用的空间都很少,有约3G的空间莫名其妙地丢了。

[root@/]# -m –max-depth=1 |sort -gr

3、用lsof检 查后才发 现 原因是,有文件被删除, 而进程还活着, 因而造成还占用空间的现象

[root@/]# lsof |grep delete

根据lsof列出的进程号,kill这些进程后,空间就释放出来了。

❾ 如何用c++代码实现简单的linux中gr

libMyNative.so:MyNative.o makefile gcc -Wall -rdynamic -shared -o libMyNative.so MyNative.o MyNative.o:MyNative.c MyNative.h gcc -Wall -c MyNative.c -I./ -I/sandbox/java2S/jdk1.6.0_16/include -I/sandbox/JAVA2S/jdk1.6.0_16/include/linuxcl:rm -rf *.o *.so libMyNative.so:MyNative.o makefile gcc -Wall -rdynamic -shared -o libMyNative.so MyNative.o MyNative.o:MyNative.c MyNative.h gcc -Wall -c MyNative.c -I./ -I/sandbox/JAVA2S/jdk1.6.0_16/include -I/sandbox/JAVA2S/jdk1.6.0_16/include/linuxcl:rm -rf *.o *.so 其中,“/sandbox/JAVA2S/jdk1.6.0_16”为JDK安装目录 “libMyNative.so”是Java类中static {System.loadLibrary("MyNative");}静态方法中参数+lib 五、修改.bash_profile文件,配置环境变量,由于生成的.so文件在当前目录下,故 .bash_profile文件设置如下 export LD_LIBRARY_PATH=./ 六、执行java MyNative命令,结果如下

热点内容
android视频p2p 发布:2024-10-10 15:16:06 浏览:714
python3scrapy爬虫 发布:2024-10-10 15:11:55 浏览:89
身份存储 发布:2024-10-10 14:51:29 浏览:534
ns2源码 发布:2024-10-10 14:46:42 浏览:564
print函数python 发布:2024-10-10 14:46:20 浏览:235
如何搭建模拟交易服务器 发布:2024-10-10 14:37:45 浏览:563
ip无法访问nginx 发布:2024-10-10 14:17:03 浏览:741
殷雷加密狗驱动下载 发布:2024-10-10 13:56:37 浏览:648
pc游戏编程人机博弈 发布:2024-10-10 13:49:32 浏览:455
有什么软件可以套wifi密码 发布:2024-10-10 13:32:06 浏览:823