一、列出文件
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 yyy@zzz.zzz.zzz.zzz:/aaa/bbb/ccc
xxxxxx 是要上传的文件名。 yyy 是 linux 服务器上登录的 ID ,zzz.zzz.zzz.zzz 是服务器 IP 地址,/aaa/bbb/ccc 是服务器上的目标目录
这样建立链接后,会提示你输入密码。
如果要传送一个文件夹下面的文件,要用scp -r