linux时常用到的命令汇总

 

一、列出文件

ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件

ls a* 列出当前目录下以字母a开头的所有文件

ls -l *.doc 给出当前目录下以.doc结尾的所有文件

二、复制文件

cp afile afile.bak 把文件复制为新文件afile.bak

cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下

cp * /tmp 把当前目录下的所有未隐藏文件复制到/tmp/目录下

cp -a docs docs.bak 递归性地把当前目录下的docs目录复制为新目录docs.bak,保持文件属性,并复制所有的文件,包括以句点开头的隐藏文件。为了方便起见,-a选项包含-R选项

cp -r docs docs.bak 递归性地把当前目录下的docs目录复制为新目录docs.bak,保持文件属性,只复制非隐藏的文件。

cp -i 在覆盖前询问用户

cp -v 告诉用户正在做什么

三、移动和重命名文件

mv aflie bfile 将afile重命名为bfile

mv afile /tmp 把当前目录下的afile移动到/tmp/目录下

 

四、删除文件和目录

rm afile 删除文件afile

rm * 删除当前目录下的所有文件(未隐藏文件)。rm命令不删除目录,除非也指定了-r(递归)参数。

rm -rf domed 删除domed目录以及它所包含的所有内容

r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思

rm -i a* 删除当前目录下所有以字母a开头的文件,并且在每次删除时,提示用户进行确认

五、更改目录

cd ~ 切换到主目录

cd /tmp 切换到目录/tmp

六、建立目录

mkdir phots 在当前目录中建立名为photos的目录

mkdir -p this/that/theother 在当前目录下建立指定的嵌套子目录

七、删除目录

rmdir 删除空目录,非空目录要用四的方法

八、查看文件内容

more /etc/passwd 查看/etc/passwd的内容

less /etc/passwd 查看/etc/passwd的内容

九、搜索文件内容

  grep 命令是用来在文件中查找含有一些特定文本。 grep有许多参数,它是一个非常有用的命令 ,

语法:grep [选项] pattern [文件名]

a: 如何使用grep在文件中找到匹配得字符串:

grep struct ./server.c

b:如何显示行数

grep -n struct ./server.c

c:使用grep在一个特定的文件中,统计指定的字符串出现的次数:

grep -c struct ./server.c

d:使用grep在一个查找指定的字符串时,忽略大小:

grep -i struct ./server.c

e:如何在所有子目录下查找响应的字符串

grep -r struct ./server.c

f:如何查找时也显示行数

grep -n struct ./server.c

g:如何给查找的结果染色

grep --color struct ./server.c

 

grep bible /etc/exports 在文件exports中查找包含bible的所有行

 

tail -100 /var/log/apache/access.log|grep 404 在WEB服务器日志文件access.log的后100行中查找包含“404”的行

tail -100 /var/log/apache/access.log|grep -v googlebot 在WEB服务器日志文件access.log的后100行中,查找没有被google访问的行

grep -v ^# /etc/apache2/httpd.conf 在主apache配置文件中,查找所有非注释行

十、查找文件

find .-name *.rpm 在当前目录中查找rpm包 ,    .是指当前目录

find .|grep page 在当前目录及其子目录中查找文件名包含page的文件

grep -rn

locate traceroute 在系统的任何地方查找文件名包含traceroute的文件

十一、编辑文件

vi /etc/bubby.txt 用vi编辑文件/etc/bubby.txt

:=可以显示当前的行数

数字+G可以当某一行。数字是行数

yy复制当前行,数字n+yy赋值当前n行。

p黏贴过来。

u 撤销最后一次更改。

 

emacs /etc/bubby.txt 用emacs编辑文件/etc/bubby.txt

 

十二:其他

pkill -9  server。  杀掉进程server

ln -s /home/server/  ~/Desktop/server 将server 创建快捷方式定位到桌面。

nautilus  /home  打开home文件夹。这个命令好像只有在linux本地在有用。sshd方式过去的不一定行

ps -L aux |grep name 显示name进程及其所有的线程名

ps aux |grep name  只显示name进程名

tset和teset可以解决terminal终端回显混乱问题,就是有时候输入字符但是不显示出来。一般tset即可。 

gdb set args -o inputfile  outputfile  gdb调试函数时,入口参数设置。

suse   特有的。zypper 软件管理方法

zypper in gcc 安装gcc
zypper search gcc 已经安装的gcc工具

zypper ar  http://mirrors.sohu.com/opensuse/distribution/11.1/repo/non-oss/ nonoss11-1
增加软件源
zypper ref 更新软件源

cat /etc/passwd  查看当前用多少用户。

 

十三:Linux环境变量

在/etc/profile文件中

增加一条这样子的配置

export JAVA_HOME=/home/jenny/software/jdk1.5.0_12

export OTHER=/home/path1:/home/path2

PATH=$JAVA_HOME/bin:$PATH

然后用source /etc/profile 命令使其生效。 export后面的多个路径用冒号分开

比如:android下的环境变量。

 export ANDROID_PATH=/home/heno/android/android-ndk-r6:/home/heno/android/android-sdk-linux_x86/tools:/home/heno/android/android-
    sdk-linux_x86/platform-tools
 export JAVA_HOME=/usr/java/jdk1.6.0_25
 PATH=$JAVA_HOME/bin:$ANDROID_PATH:$PATH

 

十四:ssh传送本地文件到远程服务器

scp xxxxxx [email protected]:/aaa/bbb/ccc
xxxxxx 是要上传的文件名。 yyy 是 linux 服务器上登录的 ID ,zzz.zzz.zzz.zzz 是服务器 IP 地址,/aaa/bbb/ccc 是服务器上的目标目录

这样建立链接后,会提示你输入密码。

如果要传送一个文件夹下面的文件,要用scp -r


 

你可能感兴趣的:(linux,struct,服务器,Path,emacs,web服务)