linux下统计代码行数的命令:
find . -name "*.[ch]"|xargs wc -l
1.进入系统
系统环境:rhel5
用途:软件开发。
我一般是root账号登陆。修改密码使用passwd命令。
2.常用的操作
2.1 文件复制 cp命令
- 语法: cp [选项] 源文件或目录 目标文件或目录
- 说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。
- 该命令的各选项含义如下:
- - a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
- - d 拷贝时保留链接。
- - f 删除已经存在的目标文件而不提示。
- - i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。
- - p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。
- - r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。
- - l 不作拷贝,只是链接文件。
- 需要说明的是,为防止用户在不经意的情况下用cp命令破坏另一个文件,如用户指定的目标文件名已存在,用cp命令拷贝文件后,这个文件就会被新源文件覆盖,因此,建议用户在使用cp命令拷贝文件时,最好使用i选项。
我最常用的主要有:
- cp -rf srcfilesdir dstfiledir 将源文件夹下的文件 拷贝到 目标文件夹下
- cp -f srcfiles dstfiledir
2.2 mv命令
- 语法:mv [选项] 源文件或目录 目标文件或目录
- 说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
- 命令中各选项的含义为:
- - I 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
- - f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。
- 如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户用mv命令破坏另一个文件,使用mv命令移动文件时,最好使用i选项。
我常用的是如下两个:
- mv olddir newdir //文件夹重命名
- mv oldfile newfile //文件重命名
2.3 rm删除命令
- rm [选项] 文件…
- 如果没有使用- r选项,则rm不会删除目录。
- 该命令的各选项含义如下:
- - f 忽略不存在的文件,从不给出提示。
- - r 指示rm将参数中列出的全部目录和子目录均递归地删除。
- - i 进行交互式删除。
- 使用rm命令要小心。因为一旦文件被删除,它是不能被恢复的。了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件则不会删除。
我常用的是如下命令:
- rm -f files //删除文件时不提示
- rm -rf dirs files //删除文件夹时不提示
3.目录操作
3.1 创建目录
- 功能:创建一个目录(类似MSDOS下的md命令)。
- 语法:mkdir [选项] dir-name
- 说明:该命令创建由dir-name命名的目录。要求创建目录的用户在当前目录中(dir-name的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或 文件名称。
- 命令中各选项的含义为:
- - m 对新建目录设置存取权限。也可以用chmod命令设置。
- - p 可以是一个路径名称。此时若路径中的某些目录尚不存在, 加上此选项后, 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
我常用的是:
- mkdir dir //在当前路径下建立一个目录
- mkdir /roo/dir //在指定路径下建立目录
- mkdir -p /root/dir //建立多重目录
3.2 删除目录
我一般使用 rm -rf dirname
4.常用的浏览显示命令
4.1 cd命令
用法:cd dir ;cd /root/myfile
4.2 pwd 显示当前路径
4.3 ls 显示文件夹下的文件
- 语法:ls [选项] [目录或是文件]
- 对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls将输出 其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。
- 命令中各选项的含义如下:
- - a 显示指定目录下所有子目录与文件,包括隐藏文件。
- - A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “..”。
- - b 对文件名中的不可显示字符用八进制逃逸字符显示。
- - c 按文件的修改时间排序。
- - C 分成多列显示各项。
- - d 如果参数是目录,只显示其名称而不显示其下的各文件。往往与l选项一起使 用,以得到目录的详细信息。
- - f 不排序。该选项将使lts选项失效,并使aU选项有效。
- - F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记 “@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。
- - i 在输出的第一列显示文件的i节点号。
- - l 以长格式来显示文件的详细信息。这个选项最常用。
- 每行列出的信息依次是: 文件类型与权限 链接数 文件属主 文件属组 文件大小 建立或最近修改的时间 名字
- 对于符号链接文件,显示的文件名之后有“—〉”和引用文件路径名。
- 对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。
- 目录中的总块数显示在长格式列表的开头,其中包含间接块。
- - L 若指定的名称为一个符号链接文件,则显示链接所指向的文件。
- - m 输出按字符流格式,文件跨页显示,以逗号分开。
- - n 输出格式与l选项相同,只不过在输出中文件属主和属组是用相应的UID号和 GID号来表示,而不是实际的名称。
- - o 与l选项相同,只是不显示拥有者信息。
- - p 在目录后面加一个“/”。
- - q 将文件名中的不可显示字符用“?”代替。
- - r 按字母逆序或最早优先的顺序显示输出结果。
- - R 递归式地显示指定目录的各个子目录中的文件。
- - s 给出每个目录项所用的块数,包括间接块。
- - t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则 按字典顺序。修改时间取决于是否使用了c或u选顶。缺省的时间标记是最后一次修 改时间。
- - u 显示时按文件上次存取的时间(最近优先)而不是按名字排序。即将-t的时间 标记修改为最后一次访问的时间。
- - x 按行显示出各排序项的信息。
- 用ls - l命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:
- - 普通文件
- d 目录
- l 符号链接
- b 块设备文件
- c 字符设备文件
- 后面的9个字符表示文件的访问权限,分为3组,每组3位。
- 第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字 符分别表示对文件的读、写和执行权限。
- 各权限如下所示:
- r 读
- w 写
- x 执行。对于目录,表示进入权限。
- s 当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组 ID)。
- t 设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行 后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。
我常用的有如下命令:
- ls -al //长格式显示所有文件
- ls -ap //显示所有文件和目录
- ls -cl //按时间修改顺序显示
- ls | grep patterns //在显示的时候grep查找某文件
5.改变属性
5.1 chmod命令
当用 ls -l 命令显示文件的具体信息时,可看到最左边有文件属性
文件所有者 同组 其他用户
rw r r
-rw-r--r-- 1 root root 32827 03-26 18:34 install.log
字母表示与数字表示的对应关系为:
r 读 4
w 写 2
x 执行 1
无权限 0
所以,
-rw-r--r-- 1 root root 32827 03-26 18:34 install.log 等价于
-6 -4 -4
可以用 chmod 666 install.log 对其改变属性,然后再 ls -l 查看具体信息,变为了
-rw-rw-rw- 1 root root 32827 03-26 18:34 install.log
-6 -6 -6
- chmod [who] [+ | - | =] [mode] 文件名?
- 命令中各选项的含义为:
- 操作对象who可是下述字母中的任一个或者它们的组合:
- u 表示“用户(user)”,即文件或目录的所有者。
- g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
- o 表示“其他(others)用户”。
- a 表示“所有(all)用户”。它是系统默认值。
- 操作符号可以是:
- + 添加某个权限。
- - 取消某个权限。
- = 赋予给定权限并取消其他所有权限(如果有的话)。
- 设置mode所表示的权限可用下述字母的任意组合:
- r 可读。
- w 可写。
- x 可执行。
- X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
- s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
- t 保存程序的文本到交换设备上。
- u 与文件属主拥有一样的权限。
- g 与和文件属主同组的用户拥有一样的权限。
- o 与其他用户拥有一样的权限。
- 文件名:以空格分开的要改变权限的文件列表,支持通配符。
- 在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example
- 使同组和其他用户对文件example 有读权限。
6.linux 用户权限与安全
6.1 su临时更改权限
我一般是以root登陆的,但是如果你以普通用户登陆,但是临时又需要以root权限执行命令时,需要临时更改权限 ,以su开头
6.2 whoami 命令显示你是哪个用户
6.3 wall命令
- 这个命令的功能是对全部已登录的用户发送信息,用户可以先把要发送的信息写好存入一个文件中,然后输入:
- # wall < 文件名
- 这样就能对所有的用户发送信息了。
- 在上面的例子中符号“<”表示输入重定向,有关它的含义和用法请参阅第十章的有关内容。 例如:
- # wall ‘Thank you!’
- Broadcast message from root (tty1) Fri Nov 26 14:15:07 1999…
- Thank you!
- #
- 执行以上命令后,用户的屏幕上显示出“Thank you!”信息后,并不出现系统提示符$(#),再次按回车键后,屏幕出现系统提示符。
6.4 write命令
write命令的功能是向系统中某一个用户发送信息。 该命令的一般格式为:
write 用户帐号 [终端名称]
例如: $ write Guest hello
此时系统进入发送信息状态,用户可以输入要发送的信息,输入完毕,希望退出发送状态时,按组合键< Ctrl+c>即可。
6.5 mesg命令
mesg命令设定是否允许其他用户用write命令给自己发送信息。如果允许别人给自己发送信息,输入命令:
# mesg y
否则,输入:
# mesg n
对于超级用户,系统的默认值为 n;而对于一般用户系统的默认值为y。 如果mesg后不带任何参数,则显示当前的状态是y还是n.。
7 关机命令
7.1 sync命令
sync命令是在关闭Linux系统时使用的。 用户需要注意的是,不能用简单的关闭电源的方法关闭系统,因为Linux象其他Unix系统一样,在内存中缓存了许多数据,在关闭系统时需要进行内存数据与硬盘数据的同步校验,保证硬盘数据在关闭系统时是最新的,只有这样才能确保数据不会丢失。一般正常的关闭系统的过程是自动进行这些工作的,在系统运行过程中也会定时做这些工作,不需要用户干预。 sync命令是强制把内存中的数据写回硬盘,以免数据的丢失。用户可以在需要的时候使用此命令。该命令的一般格式为:
sync
7.2 shutdown命令
shutdown命令
shutdown 命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟;时间段由“+”和分钟数表示。系统执行该命令后,会自动进行数据同步的工作。
该命令的一般格式为: shutdown [选项] [时间] [警告信息] 命令中各选项的含义为:
- k 并不真正关机,而只是发出警告信息给所有用户。
- r 关机后立即重新启动。
- h 关机后不重新启动。
- f 快速关机,重启动时跳过fsck。
- n 快速关机,不经过init程序。
- c 取消一个已经运行的shutdown。
需要特别说明的是,该命令只能由超级用户使用。
我经常使用的是:
- shutdown -r //重新启动
- shutdown -now //现在关机
8.剩余空间
8.1 内存剩余空间 free命令
- free [-b | -k | -m]
- -b 以字节为单位显示。
- -k 以K字节为单位显示。
- -m 以兆字节为单位显示。
我常用的是:free -m 以兆为单位显示剩余内存
8.2 top命令
- 主要参数
- d:指定更新的间隔,以秒计算.
- q:没有任何延迟的更新.如果使用者有超级用户,则top命令将会以最高的优先序执行.
- c:显示进程完整的路径与名称.
- S:累积模式,会将己完成或消失的子行程的CPU时间累积起来.
- s:安全模式.
- i:不显示任何闲置(Idle)或无用(Zombie)的行程.
- n:显示更新的次数,完成后将会退出to
- 显示参数:
- PID(Process ID):进程标示号.
- USER:进程所有者的用户名.
- PR:进程的优先级别.
- NI:进程的优先级别数值.
- VIRT:进程占用的虚拟内存值.
- RES:进程占用的物理内存值.
- SHR:进程使用的共享内存值.
- S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数.
- %CPU:该进程占用的CPU使用率.
- %MEM:该进程占用的物理内存和总内存的百分比.
- TIME+:该进程启动后占用的总的CPU时间.
- Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行.
- top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能.这些命令是通过快捷键启动的.
- <空格>:立刻刷新.
- P:根据CPU使用大小进行排序.
- T:根据时间、累计时间排序.
- q:退出top命令.
- m:切换显示内存信息.
- t:切换显示进程和CPU状态信息.
- c:切换显示命令名称和完整命令行.
- M:根据使用内存大小进行排序.
- W:将当前设置写入~/.toprc文件中.这是写top配置文件的推荐方法.
我常用的有:
8.3 df命令
- 功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
- 语法:df [选项]
- 说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况。
- 该命令各个选项的含义如下:
- -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
- -k 以k字节为单位显示。
- -i 显示i节点信息,而不是磁盘块。
- -t 显示各指定类型的文件系统的磁盘空间使用情况。
- -x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
- -T 显示文件系统类型。
我常用:
- df -a
- df -at ext3 //只显示ext3的
阅读(1071) | 评论(1) | 转发(0) |