linux下软件安装配置时几个命令的用法

linux下软件安装配置时几个命令的用法
linux下软件安装配置时几个命令的用法

linux下软件安装配置时几个命令的用法

收藏到手机转发评论

2010-09-15 21:57

有时候在linux下面安装软件时,有部分命令是干什么的其实自己也不是很清楚,都是按照网上的资料一步一步安装的,今天来系统的总结一下,加深一些印象。

1.hello.c

debian:/home/server/helloword# vi hello.c

int main(int argc, char** argv) {

print("Hello World!\n");

return 0;

}

2.autoscan

执行autoscan前

debian:/home/server/helloword# ls

hello.c

debian:/home/server/helloword#autoscan

执行autoscan后

debian:/home/server/helloword# ls

autoscan.log configure.scan hello.c

3.编辑文件configure.in

cp configure.scan configure.in

文件configure.in的内容如下:

# -*- Autoconf -*-

# Process this file with autoconf to produce a configure script.

AC_INIT(hello.c)

AM_INIT_AUTOMAKE(hello, 1.0)

# Checks for programs.

AC_PROG_CC

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_OUTPUT(Makefile)

4.生成aclocal.m4及configure

可以看到configure.in内容是一些宏定义,这些宏经autoconf处理后会变成检查系统特性、环境变量、软件必须的参数的shell脚本。

执行aclocal,根据文件configure.in的内容,生成aclocal.m4文件

debian:/home/server/helloword# ls

autoscan.log configure.in configure.scan hello.c

debian:/home/server/helloword# aclocal

debian:/home/server/helloword# ls

aclocal.m4 autom4te.cache autoscan.log configure.in configure.scan hello.c

执行autoconf,根据文件configure.in及aclocal.m4的内容,生成configure文件,

configure是一个shell脚本

debian:/home/server/helloword# ls

aclocal.m4 autoscan.log configure.in hello.c

autom4te.cache configure configure.scan

5.新建Makefile.am

输入如下的内容:

AUTOMAKE_OPTIONS=foreign

bin_PROGRAMS=hello

hello_SOURCES=hello.c

automake会根据你写的Makefile.am来自动生成Makefile.in。Makefile.am中定义的宏和目标,会指导automake生成指定的代码。例如,宏bin_PROGRAMS将导致编译和连接的目标被生成。

6.运行automake

debian:/home/server/helloword# automake --add-missing

debian:/home/server/helloword# ls

aclocal.m4 autoscan.log configure.in depcomp install-sh Makefile.in autom4te.cache configure configure.scan hello.c Makefile.am missing

7.执行configure生成Makefile

debian:/home/server/helloword# ./configure

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... no

checking for mawk... mawk

checking whether make sets $(MAKE)... yes

checking for gcc... gcc

checking for C compiler default output file name... a.out

checking whether the C compiler works... yes

checking whether we are cross compiling... no

checking for suffix of executables...

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking for style of include used by make... GNU

checking dependency style of gcc... gcc3

configure: creating ./config.status

config.status: creating Makefile

config.status: executing depfiles commands

已经生成文件Makefile了

debian:/home/server/helloword# ls

aclocal.m4 config.log configure.in hello.c Makefile.am

autom4te.cache config.status configure.scan install-sh Makefile.in autoscan.log configure depcomp Makefile missing

8.使用make命令通过Makefile文件编译代码

debian:/home/server/helloword# make

gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"hello\" -DVERSION=\"1.0\" -I. -g -O2 -MT hello.o -MD -MP -MF .deps/hello.Tpo -c -o

hello.o hello.c

mv -f .deps/hello.Tpo .deps/hello.Po gcc -g -O2 -o hello hello.o

9.执行

debian:/home/server/helloword# ./hello Hello World!

至此,大功告成。

附各个命令在linux下面的原始说明

1.autoscan

生成configure.scan文件

AUTOSCAN(1) User

Commands AUTOSCAN(1)

NAME

autoscan - Generate a preliminary configure.in

SYNOPSIS

autoscan [OPTION] ... [SRCDIR]

DESCRIPTION

Examine source files in the directory tree rooted at SRCDIR, or the current

directory if none is given. Search the

source files for common portability

problems, check for incompleteness of `configure.ac', and create a file `con-

figure.scan' which is a preliminary `configure.ac' for that package.

2.autoconf

debian:/data/wwwroot/app# autoconf --help

Usage: /usr/bin/autoconf [OPTION] ... [TEMPLATE-FILE]

Generate a configuration script from a TEMPLATE-FILE if given, or

`configure.ac' if present, or else `configure.in'. Output is sent

to the standard output if TEMPLATE-FILE is given, else into

`configure'.

3.automake

AUTOMAKE(1) AUTOM AKE(1)

NAME

automake - automatically create Makefile.in's from Makefile.am's

4.aclocal

debian:~# man aclocal

ACLOCAL(1) ACLO CAL(1)

NAME

aclocal - automatically generate aclocal.m4 from configure.in

5.libtoolize

debian:~# man libtoolize

LIBTOOLIZE(1) User

Manuals LIBTOOLIZE(1)

NAME

libtoolize - add libtool support to your package

SYNOPSIS

libtoolize [OPTION]...

DESCRIPTION

The `libtoolize' program provides a standard way to add libtool support to your

package. In the future, it may implement better usage checking, or other fea-

tures to make libtool even easier to use.

6.autoheader

debian:~# man autoheader

AUTOHEADER(1) User

Commands AUTOHEADER(1)

NAME

autoheader - Create a template header for configure

SYNOPSIS

autoheader [OPTION] ... [TEMPLATE-FILE]

DESCRIPTION

Create a template file of C `#define' statements for `configure' to use. To

this end, scan TEMPLATE-FILE, or `configure.ac' if

present, or else `config-

ure.in'.

7.autoupdate

debian:~# man autoupdate

AUTOUPDATE(1) User

Commands AUTOUPDATE(1)

NAME

autoupdate - Update a configure.in to a newer Autoconf

SYNOPSIS

autoupdate [OPTION] ... [TEMPLATE-FILE...]

DESCRIPTION

Update the TEMPLATE-FILE... if given, or `configure.ac' if present, or else

`configure.in', to the syntax of the current version of Autoconf. The original

files are backed up.

8.autoreconf

debian:~# man autoreconf

AUTORECONF(1) User

Commands AUTORECONF(1)

NAME

autoreconf - Update generated configuration files

SYNOPSIS

autoreconf [OPTION] ... [CONFIGURE-AC or DIRECTORY] ...

DESCRIPTION

Run `autoconf' (and `autoheader', `aclocal', `automake', `autopoint' (formerly

`gettextize'), and `libtoolize' where appropriate) repeatedly to remake the GNU

Build System files in the DIRECTORIES or the directory trees driven by CONFIG-

URE-AC (defaulting to `.').

By default, it only remakes those files that are older than their predecessors.

If you install new versions of the GNU Build System, running

`autoreconf'

remakes all of the files by giving it the `--force' option.

延伸阅读:

https://www.360docs.net/doc/eb14431556.html,/content/10/0621/11/474846_34363062.shtml

https://www.360docs.net/doc/eb14431556.html,/s?wd=linux+autoconf+automake+aclocal+make

https://www.360docs.net/doc/eb14431556.html,/search?hl=en&source=hp&q=linux+autoconf+automake+aclocal+m ake

Linux常用命令

Linux常用命令1、查看当前工作路径:pwd 示例: 2、列出目录中的内容:ls 格式: ls [选项] [目录名称] 常用选项和参数: -l :显示文件和目录的详细信息。 -d : 显示目录名称而非其内容。 -S : 按文件和目录的大小排序。 -t : 按文件和目录的更改时间排序。 -a :显示目录中的文件和文件夹,包括隐藏文件。 示例: ?查看当前目录下的文件和文件夹详细信息。 3、切换工作目录:cd 格式: cd [目录名称] (直接执行cd命令,进入个人主目录。)示例:

4、创建目录:mkdir 格式: mkdir [选项] [目录名称] 常用选项和参数: -p :确保目录名称存在,如果目录不存在的就新创建一个。 示例: ?在/test/test1目录下创建一个名称为“test2”的目录。(/test目录下还没有创建test1,添加-p参数一次性创建) 5、创建文件:touch 格式: touch [文件名称] 示例: ?创建一个名称为“linux”的文件。 6、删除文件或目录:rm 格式: rm [选项] [文件或目录名称] 常用选项和参数: -f :强制删除文件或目录。 -r :递归处理,将指定目录下的所有文件及子目录一并处理。 示例: ?删除一个名称为“/test1”的目录。

7、移动或更名现有的文件或目录:mv 格式: mv[选项][源文件或目录][目标文件或目录] 常用选项和参数: -f :若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录。 示例: ?将/etc/hosts文件移动到/home目录。 8、复制文件或目录:cp 格式: cp[选项][源文件或目录][目标文件或目录] 常用选项和参数: -a :此参数的效果和同时指定"-dpR"参数相同。 -d :当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录。 -p :保留源文件或目录的属性。 -R :递归处理,将指定目录下的所有文件与子目录一并处理。 示例: ?复制/var/log/messages文件到/home目录。 cp /var/log/messages /home ?复制/var/log文件夹到/home目录。 cp -a /var/log /home

linux查看文件大小命令

linux查看文件大小命令 linux系统不像windows系统,查看文件可以随时点击右键,linux中碳钢命令来查看文件大小,下面由小编为大家整理了linux查看文件命令的相关知识,希望对大家有帮助! linux查看文件命令详解 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>] [--max-depth=<目录层数>][--help][--version][目录或文件] 常用参数: -a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或–total 除了显示目录或文件的大小外,同时也

显示所有目录或文件的总和。 -D或–dereference-args 显示指定符号连接的源文件大小。 -h或–human-readable 以K,M,G为单位,提高信息的可读性。 -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。 -k或–kilobytes 以1024 bytes为单位。 -l或–count-links 重复计算硬件连接的文件。 -L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。 -m或–megabytes 以1MB为单位。 -s或–summarize 仅显示总计,即当前目录的大小。

Linux find命令常见用法汇总

Linux find命令常见用法汇总 导读:Linux系统中查找文件的命令式find,find命令具有强大的功能,能够提供多种查找条件,下面小编就给大家带来Linux中find命令的常见用法汇总,一起来学习下吧。 ·find path -option [-print ][-exec -ok command ]{} \; find命令的参数; pathname:find命令所查找的目录路径。例如用。来表示当前目录,用/来表示系统根目录。 -print:find命令将匹配的文件输出到标准输出。 -exec:find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为‘command’ { } \;,注意{ }和\;之间的空格。 -ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 #-print 将查找到的文件输出到标准输出 #-exec command {} \; —–将查到的文件执行command操作,{} 和\;之间有空格 #-ok 和-exec相同,只不过在操作前要询用户 例:find 。-name .svn | xargs rm -rf ==================================================== -name filename #查找名为filename的文件 -perm #按执行权限来查找 -user username #按文件属主来查找

-group groupname #按组来查找 -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前-atime -n +n #按文件访问时间来查GIN:0px“》 -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在 -nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存 -newer f1 !f2 找文件,-n指n天以内,+n指n天以前 -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在 -nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存 -newer f1 !f2 #查更改时间比f1新但比f2旧的文件 -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件 -size n[c]#查长度为n块[或n字节]的文件 -depth #使查找在进入子目录前先行查找完本目录 -fstype #查更改时间比f1新但比f2旧的文件 -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件 -size n[c]#查长度为n块[或n字节]的文件 -depth #使查找在进入子目录前先行查找完本目录 -fstype #查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到 -mount #查文件时不跨越文件系统mount点 -follow #如果遇到符号链接文件,就跟踪链接所指的文件 -cpio %; #查位于某一类型文件系统中的文件,这些文件系统类型通常可在/etc/fstab中找到 -mount #查文件时不跨越文件系统mount点 -follow #如果遇到符号链接文件,就跟踪链接所指的文件 -cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中 -prune #忽略某个目录 ===================================================== $find ~ -name ”*.txt“ -print #在$HOME中查.txt文件并显示 $find 。-name ”*.txt“ -print $find 。-name ”[A-Z]*“ -print #查以大写字母开头的文件 $find /etc -name ”host*“ -print #查以host开头的文件 $find 。-name ”[a-z][a-z][0–9][0–9].txt“ -print #查以两个小写字母和两个数字开头的txt文件 $find 。-perm 755 -print $find 。-perm -007 -exec ls -l {} \; #查所有用户都可读写执行的文件同-perm 777 $find 。-type d -print $find 。!-type d -print $find 。-type l -print $find 。-size +1000000c -print #查长度大于1Mb的文件

15个极好的Linux find命令示例

前阵子,我们审查了15件实事find命令的例子(第一部分)。查找命令可以做很多比只是在寻找基于名称的文件(第2部分)在这篇文章中,让我们来讨论15高级find命令的例子,包括-根据它访问,修改或改变的时间查找文件,查找文件相比之下,执行操作找到的文件等。 基于访问/修改/更改时间查找文件 你可以找到基于以下三个文件的时间属性的文件。 1.访问时间的文件。文件访问时,访问时间得到更新。 2.的文件的修改时间。文件内容修改时,修改时间得到更新。 3.更改文件的时间。更改时间时,被更新的inode数据的变化。 在下面的例子中,min选项之间的差异和时间选项是参数。 ?分论点将它的参数为分钟。例如,60分钟(1小时)= 60分钟。 ?时间参数,将它的参数为24小时。例如,时间2 = 2 * 24小时(2天)。 ?虽然这样做的24个小时计算,小数部分都将被忽略,所以25小时为24小时,和47小时取为24小时,仅48小时为48小时。要获得更清晰的参考atime的部分find 命令的手册页。 例1:找到在1个小时内被更改的文件 想要通过文件修改时间找出文件,可以使用参数-mmin -mtime。下面是man手册中有关mmin和mtime的定义。 ?-mmin n文件最后一次修改是在n分钟之内 ?-mtime n文件最后一次修改是在n*24小时之内(译者注:也就是n天了呗)执行下面例子中的命令,将会找到当前目录以及其子目录下,最近一次修改时间在1个小时(60分钟)之内的文件或目录 1 # find . -mmin -60

同样的方式,执行下面例子中的命令,将会找到24小时(1天)内修改了的文件(文件系统根目录/ 下) 1 # find / -mtime -1 例2:找到1个小时内被访问过的文件 想要通过文件访问时间找出文件,可以使用参数-amin -atime。下面是man手册中有关amin和atime的定义。 ?-amin n文件最后一次访问是在n分钟之内 ?-atime n文件最后一次访问是在n*24小时之内 执行下面例子中的命令,将会找到当前目录以及其子目录下,最近一次访问时间在1个小时(60分钟)之内的文件或目录 1 # find . -amin -60 同样的方式,执行下面例子中的命令,将会找到24小时(1天)内被访问了的文件(文件系统根目录/ 下) 1 # find / -atime -1 例3:查找一个小时内状态被改变的文件 (译者注:这里的改变更第1个例子的更改文件内容时间是不同概念,这里是更改的是文件inode的数据,比如文件的权限,所属人等等信息) 要查找文件的inode的更改时间,使用-cmin和-ctime选项 ?-cmin n文件的状态在n分钟内被改变 ?-ctime n文件状态在n*24小时内(也就是n天内)被改变 (译者注:如果上面的n为-n形式,则表示n分钟/天之内,n为+n则表示n分钟/天之前) 下面的例子在当前目录和其子目录下面查找一个小时内文件状态改变的文件(也就是60分钟内): 1 # find . -cmin -60 同样的道理,下面的例子在根目录/及其子目录下一天内(24小时内)文件状态被改变的文件列表: 1 # find / -ctime -1 例4:搜索仅仅限定于文件,不显示文件夹

Linux常用文件和目录类命令

常用文件和目录类命令练习linux (1)启动计算机,利用root用户登录到系统,进入字符提示界面。 (2)用pwd命令查看当前所在的目录。 (3)用ls命令列出此目录下的文件和目录。 (4)用-a选项列出此目录下包括隐藏文件在内的所有文件和目录。 (5)用man命令查看ls命令的使用手册。 (6)在当前目录下,创建测试目录test。 (7)利用ls命令列出文件和目录,确认test目录创建成功。 (8)进入test目录,利用pwd查看当前工作目录。 (9)利用touch命令在当前目录创建一个新的空文件newfile。 (10)利用cp命令复制系统文件/etc/profile到当前目录下。 (11)复制文本profile到一个新文件profile.bak,作为备份。 (12)用ll命令以长格式的形式列出当前目录下的所有文件,注意比较每个文件的 长度和创建时间的不同。 (13)用less命令分屏查看profile文件的内容,注意联系less命令的各个子命令, 例如b、p、q等并对“then”关键字查找。 (14)用grep命令在profile文件中对关键字“then”进行查询,并于上面的结果比 较。 (15)给文件profile创建一个软链接lnsprofile和一个硬链接lnhprofile。 (16)长格式显示文件profile、lnsprofile、lnhprofile的详细信息。注意比较3个文 件链接数的不同。 (17)删除文件profile,用长格式显示lnsprofile和lnhprofile的详细信息,比较文 件lnhprofile的链接数的变化。 (18)用less命令查看文件lnsprofile的内容,看看有什么结果。 (19)用less命令查看文件lnhprofile的内容,看看有什么结果。 (20)删除文件lnsprofile,显示当前目录下的文件列表,回到上层目录。 (21)用tar命令把目录打包。 (22)用gzip命令把打好的包进行压缩。 (23)把文件test.tar.gz改名为backup.tar.gz。 (24)显示当前目录下的文件和目录列表,确认重命名成功。 (25)把文件backup.tar.gz移动到test目录下。 (26)显示当前目录下的文件和目录列表,确认移动成功。 (27)进入test目录,显示目录中的文件列表。 (28)把文件test.tar.gz解包。 (29)显示当前目录下的文件和目录列表,复制test目录为testbak目录作为备份。 (30)查找root用户自己的主目录下所有名为newfile的文件。 (31)删除test子目录下的所有文件。 (32)利用rmdir命令删除空子目录test。 (33)回到上层目录,利用rm命令删除目录test和其下所有文件。

FIND命令大全

Linux Find命令精通指南 作者:Sheryl Calish 简单介绍这一无处不在的命令的强大的方面以及混乱的方面。 2008年7月发布 Linux find命令是所有Linux命令中最有用的一个,同时也是最混乱的一个。它很难,因为它的语法与其他Linux命令的标准语法不同。但是,它很强大,因为它允许您按文件名、文件类型、用户甚至是时间戳查找文件。使用find命令,您不但可以找到具这些属性任意组合的文件,还可以对它找到的文件执行操作。 本文的目的是,通过概述find命令的用途和潜能,简化该命令的学习和使用。同时,它将针对find命令的某些最强大但最混乱的方面提供一个基本的指南和参考。 [注意:本文使用的find版本是GNU版本,因此,某些细节可能与其他版本的find有所不同。] 基本格式 开始之前,我们先来看一下find命令的基本结构: find start_directory test options criteria_to_match action_to_perform_on_results 在以下命令中,find将开始在当前目录(用“.”表示)中查找任何扩展名为“java”的文件:find.-name"*.java" 下面是该命令所找到的命令的缩略清单: find.-name"*.java" ./REGEXPvalidate/src/oracle/otnsamples/plsql/ConnectionManager.java ./REGEXPvalidate/src/oracle/otnsamples/plsql/DBManager.java .. [注意:如果您从本文剪切并粘贴来运行该find命令,您可能需要使用自己的键盘替换双引号(“”)才能得出正确的结果。] 以下命令将执行相同的操作。在这两种情况下,您都需要对通配符进行转义以确保它传递到find命令并且不由shell解释。因此,请将您的搜索字符串放到引号里,或者在它前面加上反斜线:

Linux查看文本内容的命令

Linux查看文本内容的命令Intel嵌入式设计开发者秘笈(精品) 在Linux中查看文本内容有多个命令可以实现,包括cat,more,less,head,tail.下面一一介绍这几个命令。 1.)cat命令 该命令通常用于查看的内容不多的文本文件,长文件会因为滚动太快无法阅读。(这个命令相当于DOS的type命令) 查看root下的A.txt , 命令如下: cat /root/A.txt cat命令后面可以指定多个文件或使用通配符,实现依次显示多个文件的内容。 比如,依次显示root下的A.txt ,B.txt。命令如下: cat /root/A.txt B.txt 另外,cat命令还可以创建新文件或将几个文件合并成一个文件。 比如:cat >1.txt , 便创建了一个1.txt的新文件 cat A.txt B.txt >2.txt ,把A.txt ,B.txt合并为2.txt cat命令用于显示文本内容时,加选项-n 可以在显示时加上行编号。 cat -n 1.txt 2.)more 与less命令 对于内容较多的文本文件就不适合用cat命令了,前面讲过适用cat命令会因滚动太快而无法阅读,此时可使用more或less命令来查看。 ①more命令 该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出- –More- –,系统还将同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车或空格键即可。 该命令有一个常用选项-p ,作用是显示下一屏之前先清屏。 要退出more显示,按q 便可。

more命令用法:more [–选项]文件 ②less命令 less命令比more命令功能更强大,除了拥有more的功能外,还支持光标上下滚动浏览文件,对于宽文档还能水平滚动,当到达底端时,less命令不会自动退出,需要按q 退出浏览。 另外,要移动到用文件的百分比表示的某位置,可指定0到100之间的数,并按p即可。譬如:50p less 命令用法:less [–选项]文件 3.) head 和tail 命令 head 命令用来查看文件前面部分的内容,默认显示前面10行的内容,当然也可以指定要查看的行数。 用法为:head -n 文件名 tail 命令的功能与head相反,用于查看文件的最后若干行的内容,默认为最后10行,用法与head相同。 另外,tail命令带选项-f ,则可实现不停的读取和显示文件内容,这样有实时监视的效果。

linux查找文件命令find

linux查找文件命令find 每一种操作系统都是由成千上万个不同种类的文件所组成的。其中有系统本身自带的文件,用户自己的文件,还有共享文件等等。我们有时候经常忘记某份文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。 可是使用Linux的用户就没有那么幸运了,在Linux上查找某个文件确实是一件比较麻烦的事情。毕竟在Linux中需要我们使用专用的“查找”命令来寻找在硬盘上的文件。Linux下的文件表达格式非常复杂,不象WINDOWS,DOS下都是统一的AAAAAAA.BBB 格式那么方便查找,在WINDOWS中,只要知道要查找的文件的文件名或者后缀就非常容易查找到。Linux中查找文件的命令通常为“find”命令,“find”命令能帮助我们在使用,管理Linux的日常事务中方便的查找出我们需要的文件。对于Linux新手来说,“find”命令也是了解和学习Linux文件特点的方法。因为Linux发行版本繁多,版本升级很快,在Linux 书籍上往往写明某个配置文件的所在位置,往往Linux新手按图索骥还是不能找到。比如说REDHAT Linux 7.O和REDHAT Linux 7.1中有些重要的配置文件所在的硬盘位置和文件目录就有了很大的改变,如果不学会使用“find”命令,那么在成千上万的Linux文件中要找到其中的一个配置文件是相当困难的,笔者在没有精通“find”命令之前就吃过这样的苦头。好,下面就详细为大家介绍强大的“find”命令的全部使用方法和用途。 通过文件名查找法: 这个方法说起来就和在WINDOWS下查找文件一样容易理解了。如果你把这个文件放在单个的文件夹里面,只要使用常见的“ls"命令就能方便的查找出来,那么使用“find”命令来查找它就不能给你留下深刻的印象,毕竟“find”命令的强大功能不止这个。如果知道了某个文件的文件名,而不知道这个文件放到哪个文件夹,甚至是层层套嵌的文件夹里。举例说明,假设你忘记了httpd.conf这个文件在系统的哪个目录下,甚至在系统的某个地方也不知道,则这是可以使用如下命令: find / -name httpd.conf 这个命令语法看起来很容易就明白了,就是直接在find后面写上-name,表明要求系统按照文件名查找,最后写上httpd.conf这个目标文件名即可。稍等一会系统会在计算机

Linux目录和文件操作命令练习题

实验一:目录和文件操作命令 一、 root身份登录redhat,在/test目录下创建如下子树

二、完成以下操作: 1、将/test目录设置为所有人可读、可写、可执行;

2、新建用户user1,user2,user3,user4,并分别设置密码; 3、新建组workg1,workg2;

4、将user1、user2归属到workg1组中,将user3、user4归属到workg2组中; 5、查看四个用户信息(利用/etc/passwd文件); 6、打开tty1,user1登录,在/test/owner/music下新建一文件:mymusic01.mp3,并将文件权限设置为除了本人,其他人都不能读、写、执行;

7、接上题,继续在/test/public/pubfile下新建一文件:user1file.txt,并将权限设置为所有人可读,可写,不可执行; 8、继续在/test/team/tefile下新建一文件:monday.txt,并将权限设置为自己、组员可读可写,其他人不可读不可写,所有人不可执行; 9、打开tty2,以user2身份登录,查看/test目录信息;

10、接上题,查看/test/owner/music/mynusic01.mp3,显示命令执行结果; 11、接上题,查看/test/public/pubfile/user1file.txt,显示命令执行结果; 12、接上题,查看/test/team/tefile/monday.txt, 显示命令执行结果; 13、打开tty3,以user3身份登录; 14、接上题,查看/test/owner/music/mynusic01.mp3,显示命令执

Linux新建文件命令

Linux新建文件命令 一、t ouch命令。 touch命令用来修改文件的访问时间、修改时间。如果没有指定时间,则将文件时间属性改为当前时间。当指定文件不存在,则touch命令变为创建该文件。 语法: 选项介绍: -a: 只修改访问时间; -c: 如果指定文件不存在,则不创建文件; -d STRING-time: 用字符串格式的时间来指定时间属性的修改值; -m: 只修改指定文件的修改时间; -r refernce-file: 将指定文件的时间属性改为与reference-file时间属性相同的值; -t [[CC]YY]MMDDhhmm[.ss]: 用[[CC]YY]MMDDhhmm[.ss]这种时间格式来指定时间属性的修改值; 执行范例: $ ls #查看当前空的目录 $ touch text #指定文件不存在,创建文件text $ stat text # stat命令可能查看文件的时间属性。 File: `text' Size: 0 Blocks: 8 IO Block: 4096 regular empty file Device: 831h/2097d Inode: 211271681 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 514/ xxxx) Gid: ( 100/ users) Access: 2010-03-01 22:03:30.000000000 +0800 Modify: 2010-03-01 22:03:30.000000000 +0800

Change: 2010-03-01 22:03:30.000000000 +0800 $ cat text # 读文件 $ stat text # 发现文件的访问时间(Access)改变 File: `text' Size: 0 Blocks: 8 IO Block: 4096 regular empty file Device: 831h/2097d Inode: 211271681 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 514/ xxxx) Gid: ( 100/ users) Access: 2010-03-01 22:04:08.000000000 +0800 Modify: 2010-03-01 22:03:30.000000000 +0800 Change: 2010-03-01 22:03:30.000000000 +0800 $ echo "hello world" > text # 相当于写文件 $ stat text # 发现文件的修改时间(Modify)改变 File: `text' Size: 12 Blocks: 16 IO Block: 4096 regular file Device: 831h/2097d Inode: 211271681 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 514/ xxxx) Gid: ( 100/ users) Access: 2010-03-01 22:04:08.000000000 +0800 Modify: 2010-03-01 22:04:58.000000000 +0800 Change: 2010-03-01 22:04:58.000000000 +0800 $ touch text #将文件的访问时间、修改时间改为当前时间 $ stat text File: `text' Size: 12 Blocks: 16 IO Block: 4096 regular file

linux下find命令详解

linux下find命令详解 find命令是一个无处不在命令,是linux中最有用的命令之一。find命令用于:在一个目录(及子目录)中搜索文件,你可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找文件。 一、find命令的一般形式 find [options] [查找路径] [查找条件] [处理动作] 查找路径:默认为当前目录 查找条件:默认为查找指定路径下的所有文件 处理动作:默认为显示 path:find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录 expression:expression可以分为——“-options [-print -exec -ok ...]” -options:指定find命令的常用选项 -print:find命令将匹配的文件输出到标准输出,默认,可省略 -exec:find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格 1、find ./ -size 0 -exec rm {} \;

删除文件大小为零的文件 rm -i `find ./ -size 0` 或 find ./ -size 0 | xargs rm -f & 为了用ls -l命令列出所匹配到的文件,可以把ls -l命令放在find命令的-exec选项中: 2、find . -type f -exec ls -l { } \; 在/logs目录中查找更改时间在5日以前的文件并删除它 们: find /logs -type f -mtime +5 -exec rm { } \; -ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。 find . -name "*.conf" -mtime +5 -ok rm { } \; 在当前目录中查找所有文件名以.LOG结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示 二、find命令的常用选项及实例 -a :组合条件“和” -not:组合条件“非” 非A并且非B:非(A或B) 非A或非B:非(A并B)

Linux下面使用命令如何运行.sh文件方法有哪些

Linux下面使用命令如何运行.sh文件方法有哪些 Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。那么在Linux上怎么运行.sh文件呢?一种是直接./加上文件名.sh,还有一种是接sh 加上文件名.sh的解决绝办法,需要的朋友可以参考下 本文介绍Linux下面用命令如何运行.sh文件的方法,有两种方法: 一、直接./加上文件名.sh,如运行hello.sh为./hello.sh 【hello.sh必须有x权限】

二、直接sh 加上文件名.sh,如运行hello.sh为sh hello.sh 【hello.sh可以没有x权限】 方法一:绝对路径执行.sh文件 1、下面三种方法都可以, 复制内容到剪贴板 ./home/test/shell/hello.sh /home/test/shell/hello.sh sh /home/test/shell/hello.sh 方法二:当前目录执行.sh文件 1、cd到.sh文件所在目录 比如以hello.sh文件为例,如 2、给.sh文件添加x执行权限

比如以hello.sh文件为例,chmod u+x hello.sh, 3、./执行.sh文件 比如以hello.sh文件为例,./hello.sh 即可执行hello.sh 文件, 4、sh 执行.sh文件 以hello.sh文件为例,sh hello.sh即可执行hello.sh文件 补充:Linux基本命令 1.ls命令: 格式::ls [选项] [目录或文件] 功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。 常用选项:

Linux中find常见用法

Linux中find常见用法 ·find path -option [ -print ] [ -e xec -ok command ] {} \; #-print 将查找到的文件输出到标准输出 #-exec command {} \; —–将查到的文件执行command操作,{} 和 \;之间有空格 #-ok 和-exec相同,只不过在操作前要询用户 ==================================================== -name filename #查找名为filename的文件 -perm #按执行权限来查找 -user username #按文件属主来查找 -group groupname #按组来查找 -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前 -atime -n +n #按文件访问时间来查GIN: 0px"> -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 -nogroup #查无有效属组的文件,即文件的属组在 /etc/groups中不存在 -nouser #查无有效属主的文件,即文件的属主在 /etc/passwd中不存 -newer f1 !f2 找文件,-n指n天以内,+n指n天以前 -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 -nogroup #查无有效属组的文件,即文件的属组在 /etc/groups中不存在 -nouser #查无有效属主的文件,即文件的属主在 /etc/passwd中不存 -newer f1 !f2 #查更改时间比f1新但比f2旧的文件 -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件 -size n[c] #查长度为n块[或n字节]的文件 -depth #使查找在进入子目录前先行查找完本目录 -fstype #查更改时间比f1新但比f2旧的文件 -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件

Linux中查看各文件夹大小命令

du [-abcDhHklmsSx] [-L <符号连接>][-X <文 件>][--block-size][--exclude=<目录或文件>] [--max-depth=<目录层数>][--help][--version][目录或文件] 常用参数: -a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。 -D或–dereference-args显示指定符号连接的源文件大小。 -h或–human-readable 以K,M,G为单位,提高信息的可读性。 -H或–si与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。 -k或–kilobytes 以1024 bytes为单位。 -l或–count-links 重复计算硬件连接的文件。 -L<符号连接>或–dereference<符号连接>显示选项中所指定符号 连接的源文件大小。 -m或–megabytes 以1MB为单位。 -s或–summarize 仅显示总计,即当前目录的大小。 -S或–separate-dirs显示每个目录的大小时,并不含其子目录的大小。

-x或–one-file-xystem以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -X<文件>或–exclude-from=<文件>在<文件>指定目录或文件。 –exclude=<目录或文件>略过指定的目录或文件。 –max-depth=<目录层数>超过指定层数的目录后,予以忽略。 –help 显示帮助。 –version 显示版本信息。 1>要显示一个目录树及其每个子树的磁盘使用情况 du /home/linux 这在/home/linux目录及其每个子目录中显示了磁盘块数。 2>要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况 du -k /home/linux 这在/home/linux目录及其每个子目录中显示了1024 字节磁盘块数。 3>以MB为单位显示一个目录树及其每个子树的磁盘使用情况 du -m /home/linux 这在/home/linux目录及其每个子目录中显示了MB 磁盘块数。 4>以GB为单位显示一个目录树及其每个子树的磁盘使用情况 du -g /home/linux 这在/home/linux目录及其每个子目录中显示了GB 磁盘块数。 5>查看当前目录下所有目录以及子目录的大小: du -h . “.”代表当前目录下。也可以换成一个明确的路径 -h表示用K、M、G的人性化形式显示 6>查看当前目录下user目录的大小,并不想看其他目录以及其子目录: du -sh user -s表示总结的意思,即只列出一个总结的值 du -h --max-depth=0 user --max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。 7>列出user目录及其子目录下所有目录和文件的大小: du -ah user -a表示包括目录和文件 8>列出当前目录中的目录名不包括xyz字符串的目录的大小:

Linux中Find命令的高级运用

Linux系统Find命令的三个高级应用 Find命令是Linux操作系统中一个很强大的工具。这个命令除了可以用来定位文件外,还有其他许多很实用的用途。如可以用来备份文件、交互式删除文件、列举文件清单等等。只要灵活应用这些功能的话,那么对于系统工程师的日常工作就能够起到事半功倍的效果。 一、利用Find命令对文件进行备份 如在Linux操作系统中有一个用户为oracle。系统会在Home目录下自动为这个用户创建一个子目录Oracle。现在用户希望能够对自己目录下的文件进行自动备份,以防止文件的以外丢失。如下图所示,现在系统工程师准备把用户目录下面的文件备份到backup目录下面,并把文件名字重命名为backup。这个功能可以实现呢?答案当然是肯定的。可以利用find命令结合cp命令来实现这个功能。 1、文件的最后修改时间。 在Linux系统的文件属性中,有非常重要的三个时间截,分别为文件最后修改时间、文件最后访问时间、inode节点最后修改时间。一旦用户对某个文件执行了更改操作,则文件i node节点里的最后修改时间就会被更新了。需要注意的是,在Linux操作系统中目录也被当作文件的一种,为此对目录的修改,如创建一个目录或者更改目录的名字也会被当作文件的修改来对待。另外文件修改后,只会更改文件的修改时间,而不会影响到目录的最后修改时间。所以如果一个目录下有一个文件更改了,则在备份的时候只需要备份这个更改的文件即可,而不需要备份这个目录下其他没有更改的文件。 出于备份效率的考虑,在备份的时候只备份当天修改过的文件。为此在备份时首先要做的就是找到这些最近更改过的文件。这个解决的思路就是从这个文件的最后修改时间入手。在f ind命令中有一个参数为mtime,它表示修改时间少于x天。如果我们把这个参数设置为1,那么find命令就可以找出在最近一天内修改过的文件。为此只需要对这些找到的文件进行备份即可。

Linux常见命令和目录文件管理

Linux常见命令和目录文件管理 1、Linux命令分类: Linux命令的执行必须依赖shell命令解释器。shell负责接收用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行。分为两种类型。 ?内部命令:是集成于shell解释器程序内部的一些特殊指令,也称为内建指令。内部命 令属于shell的一部分,所以没有单独对应的系统文件,只要shell解释器被运行,内部指令就自动载入内存了,用户可以直接使用。内部命令无需从硬盘重新读取文件,执行效率更高。 ?外部命令:是Linux系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令 对应了系统中的一个文件,是属于shell解释器程序之外的命令。Linux系统必须知道外部命令对应的文件位置,才能够由shell加载并执行。 2、Linux命令行的格式 命令字[选项] [参数] 1)命令字 即命令名称,整条命令中最关键的一部分 2)选项 作用是调节命令的具体功能,决定这条命令如何执行。 3)参数 是命令字的处理对象,通常情况下命令参数可以是文件名,目录,路径或用户名等。 常见命令: uname -r 查看Linux内核版本信息 cat /proc/cpuinfo 查看cpu型号,规格等 cat /proc/meminfo 查看内存信息 hostname 查看主机完整名称 ifconfig 查看网卡信息 shutdown -h now 关机 shutdown -r now 重启 pwd 查看用户当前所在的目录 cd 将用户的工作目录更改到其他位置 ?. 当前的工作目录 ?.. 当前目录的上一级目录 ?~用户名指定用户的宿主目录,省略用户名为当前用户 -上一次的工作目录 ls 显示目录中的内容,包括子目录和文件的相关属性信息等 ?-l 以长格式显示,包括权限、大小、最后更新时间等 ?-a 显示所有子目录和文件,包括隐藏目录和隐藏文件 ?-d 显示目录本身的属性,不是显示目录中的内容 ?-h 以K、M等单位显示大小,不是默认的字节 du 统计指定目录或文件占用磁盘空间的大小 ?-a 统计时包括所有文件,不仅仅只统计目录 ?-h 以K、M等单位显示统计结果

Linux新建文件命令__肯定成功

Linux新建文件命令测试一下 一、t ouch命令。 touch命令用来修改文件的访问时间、修改时间。如果没有指定时间,则将文件时间属性改为当前时间。当指定文件不存在,则touch命令变为创建该文件。 语法: 选项介绍: -a: 只修改访问时间; -c: 如果指定文件不存在,则不创建文件; -d STRING-time: 用字符串格式的时间来指定时间属性的修改值; -m: 只修改指定文件的修改时间; -r refernce-file: 将指定文件的时间属性改为与reference-file时间属性相同的值; -t [[CC]YY]MMDDhhmm[.ss]: 用[[CC]YY]MMDDhhmm[.ss]这种时间格式来指定时间属性的修改值; 执行范例: $ ls #查看当前空的目录 $ touch text #指定文件不存在,创建文件text $ stat text # stat命令可能查看文件的时间属性。 File: `text' Size: 0 Blocks: 8 IO Block: 4096 regular empty file Device: 831h/2097d Inode: 211271681 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 514/ xxxx) Gid: ( 100/ users) Access: 2010-03-01 22:03:30.000000000 +0800 Modify: 2010-03-01 22:03:30.000000000 +0800

Change: 2010-03-01 22:03:30.000000000 +0800 $ cat text # 读文件 $ stat text # 发现文件的访问时间(Access)改变 File: `text' Size: 0 Blocks: 8 IO Block: 4096 regular empty file Device: 831h/2097d Inode: 211271681 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 514/ xxxx) Gid: ( 100/ users) Access: 2010-03-01 22:04:08.000000000 +0800 Modify: 2010-03-01 22:03:30.000000000 +0800 Change: 2010-03-01 22:03:30.000000000 +0800 $ echo "hello world" > text # 相当于写文件 $ stat text # 发现文件的修改时间(Modify)改变 File: `text' Size: 12 Blocks: 16 IO Block: 4096 regular file Device: 831h/2097d Inode: 211271681 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 514/ xxxx) Gid: ( 100/ users) Access: 2010-03-01 22:04:08.000000000 +0800 Modify: 2010-03-01 22:04:58.000000000 +0800 Change: 2010-03-01 22:04:58.000000000 +0800 $ touch text #将文件的访问时间、修改时间改为当前时间 $ stat text File: `text' Size: 12 Blocks: 16 IO Block: 4096 regular file

相关文档
最新文档