`
uule
  • 浏览: 6304507 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

命令 - 基础命令

 
阅读更多

LInux学习

每日一Linux命令

 

 [root@esbserver ~]# su - esbapp

[esbapp@esbserver ~]$ cd $JBOSS_HOME

[esbapp@esbserver jboss-5.1.0.GA]$ pwd

/home/esbapp/lightesb/jboss-5.1.0.GA

[esbapp@esbserver jboss-5.1.0.GA]$

  

查看进程

ps -ef|grep java

ps -aux|grep java

  

上传文件

rz -e

 

下载文件

sz *.sql

 

解压zip文件

unzip accountant.zip

 

jboss

启动 nohup ./run.sh & 停止 ./shutdown.sh -S

  

查看防火墙状态

service iptable status

 

./install.sh
 chmod 744 install.sh
>server.log 清空

mstsc /admin

clear 清空命令面板

 

gc用jdk的那个工具到服务器上看
cpu 内存用top看。
soapui管不到服务器端啊。

 

 

top -p 13277

 

查看命令帮助

    man ls

    ls --help


查找:
    man -k xxx
    apropos xxx


===================================================

基础命令

 

1、ls 目录列举(dir) 

 

#看包含xml的全部文件。

ls *xml*  

 

一行一个文件查看详情

ls -l

 

ls -l 可简化为 ll 

 

2、cd 目录切换 

 

3、chown 改变文件、文件夹的拥有者或权限 

 

改变文件权限

chown 744 install.sh

 

更改拥有者:

chown [-R] 账号名称 文件或目录

chown [-R] 账号名称:用户组名称 文件或目录

 

注意

1、用户名在前

2、可以是冒号:也可是是点号.

 

把当前目录下的所有文件赋予esbapp用户以及esbappg组的用户所有权力

chown esbapp.esbappg * 

 

同时修改子文件夹下的文件(文件夹)

chown -R esbapp.esbappg *    

#-r --recursive 递归的

 

 

4、chgrp 更改文件、文件夹所属用户组

change group(改变用户组)的缩写

 

chgrp [-R] 用户组名称 dirname/filename 

 

注意:

要改变成为的用户组名称,必须在 /etc/group里存在,否则就会显示错误

 

-rw--w--w- 1 xiaoming root 0 Jun 7 19:35 testfile //查看文件拥有者为 xiaoming,但组为 root 

[root@localhost home]# chgrp xiaoming testfile //修改拥有者组为 xiaoming 

[root@localhost home]# ls testfile -l 

-rw--w--w- 1 xiaoming xiaoming 0 Jun 7 19:35 testfile 

[root@localhost home]# chown root:root testfile // 使用 chown 一次性修改拥有者及组 

-rw--w--w- 1 root root 0 Jun 7 19:35 testfile 

  

5、mkdir 建立目录  

mkdir x  

我们就在当前目录下构建了一个x目录

 

6、cat/head/tail/more/less/nl 文本查看

 cat a.xml  

查看这个文件的内容,当然以文本方式。 

  

cat  由第一行开始显示档案内容

tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

more 一页一页的显示档案内容

less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

           使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件

head 只看头几行

tail 只看尾巴几行

    -f  

        // -follow

        //可以跟踪文件的内容,我们常常用它来监控日志

        //tail -f javaeye.log  当javaeye.log文件发生增长时,我们可以在控制台捕获这个改动

nl   显示的时候,顺道输出 行号

od   以二进制的方式读取档案内容

  

nl  log2012.log

 

列出 log2012.log 的内容 并显示行号

 

显示、添加:
cat :
    -n 或 --number 由 1 开始对所有输出的行数编号
    -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号 

    cat filename.txt | less
    cat > xx.txt
        保存到文件,如果文件已经存在,则覆盖掉原来的。
    cat >> xx.txt
        追加到文件
    cat aa.txt >> bb.txt
        将aa.txt信息添加到bb.txt
    cat aa.txt bb.txt > aabb.txt
        文件连接起来,内容导入aabb.txt
    http://www.souzz.net/online/Redhad9/s1-navigating-usingcat.html

 

7、tar / zip / unzip 文件压缩解压缩

 tar/zip1 、tar/zip2tar/zip3

压缩

将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar

[root@linux ~]# tar -cvf /tmp/etc.tar /etc    <==仅打包,不压缩!

[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc  <==打包后,以 gzip 压缩

[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc  <==打包后,以 bzip2 压缩

 

注意

#在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。

# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file

# 如果加 j 参数,则以 .tar.bz2 来作为附档名

 

解压缩

将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下

[root@linux ~]# cd /usr/local/src

[root@linux src]# tar -zxvf /tmp/etc.tar.gz

 

# 在预设的情况下,我们可以将压缩档在任何地方解开的

  

zip

zip格式已成为压缩文件的标准选择,而且它在windows上也能使用。

经常用zip格式压缩那些需要共享给windows用户的文件。

如果只是共享给linux用户或者Mac用户,偏向于选择tar.gz格式。

 

zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。

//将所有.jpg的文件压缩成一个zip包 	
zip  all.zip  *.jpg 
 
//解压 all.zip	
unzip all.zip 

 

 

要在linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux 不是免费的

 

8、rm 删除 

 rm test.log

 

rm -r 目录名

rm -rf 目录名或文件

         #强制删除文件

 

rmdir 

       删除空目录,一个目录被删除之前必须是空的

 

批量删除:

zx-200.22-20090808.131442.log

zx-200.22-20090809.170245.log

zx-200.22-20090810.193934.log

zx-200.22-20090811.124930.log

zx-200.22-20090812.161723.log

 

rm -f zx-200.22-200[0-8]*.log

rm -f zx-200.22-20090[1-7]*.log

 

9、touch/vi/cp/mv 创建文件

 

vi、touch是创建文件的命令,

cp、mv也算是吧,因为cp是拷贝文件,mv是移动文件

 

touch:

      用来修改文件时间戳,或者新建一个不存在的文件

 

10、su   切换用户 

直接切换到超级用户也就是root用户

su

su -

切换到esbapp用户

su - esbapp

        -两端留空

 

 

11、vi/vim 文本编辑 

 vi工作于两种模式:指令模式和输入模式。指令模式是打开文件后的默认模式模式,此时输入任何字符均被视为控制指令。输入模式就是普通的编辑模式,此时输入字符默认为输入内容。

 

vi [filePathAndName]

如果指定的filePathAndName存在则会自动载入该文件内容,如果不存在则会自动创建。

注:每行前显示波浪符号的表示该行为空行。

 

vi a.txt

这时候文件打开了,但是还不能编辑,键入i  提示insert,插入状态,我们可以插入文字了

 

vi退出

退出输入模式,先按一下[ESC]键后Ctrl + C ,然后执行:

 

:w ——保存当前文件 

:wq —— 存盘退出(与指令 :x 功能相同) 

:q —— 直接退出,如已修改会提示是否保存 

:q! ——不保存直接退出  

http://www.linuxpx.cn/Linux/Linux_2170.html

 

 12、cp 复制

 

cp a.txt a.txt.bak  

a.txt文件,获得了备份文件a.txt.bak。 

 

如果要拷贝目录,需要使用参数-R 

 

cp -r a b   

这样就可以把a目录拷贝成b目录了。

 

 

cp:
    -i 询问是否覆盖。
    -f 强制覆盖,但如果有-i参数时,此参数无效。
    -r 递归复制。
    -a 递归复制,并且保留文件的时间、权限、属主等属性。

    cp aa.txt bb.txt 复制aa.txt为bb.txt
    cp -a tmp tmp1  复制目录
        注意目标目录存在与否结果是不一样的。
        目标目录存在时,整个源目录被复制到目标目录里面。    

 

13、mv 剪切 

 mv [选项] 源文件或目录 目标文件或目录

 

重命名文件或目录

将test.log重命名为test1.txt

mv test.log test1.txt

 

将test1.txt移入test3目录

mv test1.txt test3

 

将test1.txt、log2.txt、log3.tx移入test3目录

mv  log1.txt log2.txt log3.txt  test3

 

http://www.cnblogs.com/peida/archive/2012/10/27/2743022.html

 

 

14、env 环境变量

env

 

15、mount 设备挂载 

 

mount [-t vfstype] [-o options] device dir

 

-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。

 

-o options 主要用来描述设备或档案的挂接方式。常用的参数有:

  loop:用来把一个文件当成硬盘分区挂接上系统

  ro:采用只读方式挂接设备

  rw:采用读写方式挂接设备

  iocharset:指定访问文件系统所用字符集

 

device 要挂接(mount)的设备。

dir设备在系统上的挂接点(mount point)。

 

 

将 /dev/hda1 挂在 /mnt 之下。   

mount /dev/hda1 /mnt 

 

http://www.jb51.net/os/RedHat/1109.html

http://www.jb51.net/linux/mount.htm

  

16、umount 设备卸载 

 

 

  

18、pwd  显示所在位置 \ 查看路径

 

19、ln  新建链接文件

 

软连接:

ln -s 源文件名 新文件名

在你选定的位置上生成一个文件的镜像,不会占用磁盘空间

这和Windows操作系统中的快捷方式有点相似

 

硬链接

ln 源文件 目标文件

没有参数-s, 它会在你选定的位置上生成一个和源文件各属性相同的文件

 

无论是软链接还是硬链接,文件都保持同步变化

[root@localhost test]# ls -lh log2012.log
-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log

[root@localhost test]# ln -s log2012.log  linklog.log
[root@localhost test]# ls -lh *.log
lrwxrwxrwx 1 root root   11 11-22 06:58 linklog.log -> log2012.log
-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log

 

[root@localhost test]# ll
-rw-r--r-- 1 root bin      61 11-13 06:03 log2013.log

[root@localhost test]# ln log2013.log ln2013
[root@localhost test]# ll
-rw-r--r-- 2 root bin      61 11-13 06:03 ln2013
-rw-r--r-- 2 root bin      61 11-13 06:03 log2013.log

 

20、ps

       Process Status的缩写

       列出系统中当前运行的那些进程

 

显示所有进程信息
ps -A
 
显示指定用户信息
ps -u root
 
显示所有进程信息,连同命令行
ps -ef
 
ps 与grep 常用组合用法,查找特定进程
ps -ef|grep ssh
ps -ef | grep java 查看进程
ps -ef|grep jboss
 
列出目前所有的正在内存当中的程序
ps -aux
 
 
可以用 | 管道和 more 连接起来分页查看
ps -aux |more
 
把所有进程显示出来,并输出到ps001.txt文件
ps -aux > ps001.txt
 
输出指定的字段
ps -o pid,ppid,pgrp,session,tpgid,comm

 

linux上进程有5种状态: 

1. 运行(正在运行或在运行队列中等待) 

2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 

3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 

4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放) 

5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行) 

 

ps工具标识进程的5种状态码: 

D 不可中断 uninterruptible sleep (usually IO) 

R 运行 runnable (on run queue) 

S 中断 sleeping 

T 停止 traced or stopped 

Z 僵死 a defunct (”zombie”) process 

 

21、kill   用于杀死进程

       终止进程

 

       kill[参数][进程号]

-l  信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a  当处理当前进程时,不限制命令名和进程号的对应关系
-p  指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s  指定发送信号
-u  指定用户 

 常用的信号:

HUP    1    终端断线

INT     2    中断(同 Ctrl + C)

QUIT    3    退出(同 Ctrl + \)

TERM   15    终止

KILL    9    强制终止

CONT   18    继续(与STOP相反, fg/bg命令)

STOP    19    暂停(同 Ctrl + Z)

 

//得到指定信号的数值
kill -l KILL
kill -l SIGKILL

//先用ps查找进程,然后用kill杀掉
[root@localhost test6]# ps -ef|grep vim 
root      3268  2884  0 16:21 pts/1    00:00:00 vim install.log
root      3370  2822  0 16:21 pts/0    00:00:00 grep vim

[root@localhost test6]# kill 3268 
[root@localhost test6]# kill 3268 
-bash: kill: (3268) - 没有那个进程


//彻底杀死进程
kill –9 3268 

//杀死指定用户所有进程
//过滤出hnlinux用户进程并杀死
[root@localhost ~]# kill -9 $(ps -ef | grep peidalinux) 
[root@localhost ~]# kill -u peidalinux

 

killall

       结束进程

       killall[参数][进程名]

 

我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一

 

杀死所有同名进程

killall vi

 

22、grep 

用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用

 

查找JAVA进程
ps -ef|grep java
 
从文件中查找关键词
grep 'linux' test.txt 
 
从多个文件中查找关键词
grep 'linux' test.txt test2.txt
 
找出已u开头的行内容
cat test.txt |grep ^u
 
输出非u开头的行内容
cat test.txt |grep ^[^u]
 
输出以hat结尾的行内容
cat test.txt |grep hat$
 
显示包含ed或者at字符的内容行
cat test.txt |grep -E "ed|at"

 

输出test.txt文件中含有从test2.txt文件中读取出的关键词的内容行

[root@localhost test]# cat test.txt 
hnlinux
peida.cnblogs.com
ubuntu
ubuntu linux
redhat
Redhat
linuxmint
 
[root@localhost test]# cat test2.txt 
linux
Redhat
 
[root@localhost test]# cat test.txt | grep -f test2.txt
hnlinux
ubuntu linux
Redhat
linuxmint

 

23、diff文件比较

 

24、date显示、设置时间

 

25、cal显示公历(阳历)日历

  

26、which

查看可执行文件的位置

 

which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!

  

whereis 

只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)

 

locate  配合数据库查看文件位置

 

 

27、watch

       可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令

 

命令参数:
-n或--interval  watch
	缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。
-d或--differences  
	用-d或--differences 选项watch 会高亮显示变化的区域。 而-d=cumulative选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来。
-t 或-no-title  
	会关闭watch命令在顶部的时间间隔,命令,当前时间的输出。
-h, --help 
	查看帮助文档
  

命令:每隔一秒高亮显示网络链接数的变化情况

watch -n 1 -d netstat -ant

 

每隔一秒高亮显示http链接数的变化情况

watch -n 1 -d 'pstree|grep http'

每隔一秒高亮显示http链接数的变化情况。 后面接的命令若带有管道符,需要加''将命令区域归整

 

监测当前目录中 scf 的文件的变化

watch -d 'ls -l|grep scf' 

 

10秒一次输出系统的平均负载

watch -n 10 'cat /proc/loadavg'

 

28、at

       建立一个定时执行的任务

       针对仅运行一次的任务

 

       at[参数][时间]

 

atd 的启动

要使用一次性计划任务时,我们的 Linux 系统上面必须要有负责这个计划任务的服务,那就是 atd 服务。 不过并非所有的 Linux distributions 都默认会把他打开的,所以,某些时刻我们需要手动将atd 服务激活才行。

 

/etc/init.d/atd {start|stop|restart|condrestart|status}

 

在一个指定的时间执行一个指定任务,只能执行一次,且需要开启atd进程

查看

ps -ef | grep atd

 

开启

/etc/init.d/atd start; 

 

配置一下启动时就启动这个服务,免得每次重新启动都得再来一次

chkconfig atd on

 

产生计划任务的方式是怎么进行的? 事实上,我们使用 at 这个命令来产生所要运行的计划任务,并将这个计划任务以文字档的方式写入 /var/spool/at/ 目录内,该工作便能等待 atd 这个服务的取用与运行了。就这么简单。

 

我们可以利用 /etc/at.allow 与 /etc/at.deny 这两个文件来进行 at 的使用限制。

 

29、crontab 

       固定的间隔时间执行指定的系统指令或 shell script脚本

 

       时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。

       这个命令非常设合周期性的日志分析或数据备份等工作。

 

       crontab [-u user] file

       crontab [-u user] [ -e | -l | -r ]

 

/etc/cron.deny

该文件中所列用户不允许使用crontab命令

 

/etc/cron.allow

该文件中所列用户允许使用crontab命令

 

/var/spool/cron/

所有用户crontab文件存放的目录,以用户名命名

 

crond服务

 

 30、history

         查阅历史记录命令

history 5  显示最近使用的5个

!5   执行历史编号为5的命令

 

。。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics