Linux经常使用命令说明(记录本身Linux命令使用状况,后续会持续更新)

首次记录时间——20170602html

感受本身Linux命令使用掌握的状况很是差,今天先记录当前会的几个。java

 

 

1#su(switch user) 切换用户web

 

  切换用户的两种方式 su [user] 和 su - [user] 的区别:正则表达式

  su [user]切换到其余用户,可是不切换环境变量,su - [user]则是完整的切换到新的用户环境。windows

eg.bash

  [root@rac1 ~]# pwd  --当前目录
  /root
  [root@rac1 ~]# su oracle --使用su [user]
  [oracle@rac1 root]$ pwd  --当前目录没有改变,仍是以前的用户目录
  /rootsession

  [oracle@rac1 root]$ su - oracle --使用su - [user]
  Password: 
  [oracle@rac1 ~]$ pwd   --当前目录变为当前用户的家目录
  /home/oracle
  [oracle@rac1 ~]$oracle

因此建议你们在切换用户时,尽可能用su - [user],不然可能会出现环境变量不对的问题。less

 

 

2#cd(change directory) 切换工做目录(或者叫修改当前目录)dom

eg.

  cd /home/my_file 经过绝对路劲跳转到my_file路径下,对于当前路径没有要求

  cd my_file 经过相对路径跳转到my_file文件夹下,若是my_file在home路径下,则当前路径只能在home目录下

  cd .. 跳转到当前目录的上一级目录

  cd ~ 跳转进入用户在该系统的home目录,例如xz用户,则进入/root/xz目录

  cd / 进入根目录

注:

  .. 或者../   -> 表示上一层目录

  .或者./    -> 表示当前目录

  ~或者~/   -> 表示你的/home/用户名目录

 

3#pwd 打印当前工做目录

eg.

  [mobo_account_test@Web1 ~]$ cd ~
  [mobo_account_test@Web1 ~]$ pwd
  /home/mobo_account_test

 

4#ls(list) 查看当前目录下的文件和文件夹

  ls –a  能够查看隐藏文件,使用此命令后看见前面带.的即为影藏文件(如: .my_personal_file)

  ls –lh或(ls –l)(ls -lih)  能够查看文件详情,读写权限,文件大小,建立时间(前者可读性更好)

  ls -lh -a 查看文件详情,包括影藏文件夹

  查看某个隐藏文件夹 须要在文件前面加上”.”,如跳转到隐藏文件夹my_file下cd /.my_file

  ls -t 按时间的降序排列全部文件和文件夹

  ls -lh -t查看详细信息后的排序(同上)

  ls - t | tac 升序

  ls -lh -t | tac升序

说明:ll 是 ls - l的缩写操做,故,一样有下面操做

  ll -t 降序

  ll -a查看全部文件的详细信息,包括隐藏文件

 

  ls m* 查找m开头的文件

  ls m* | more 按空白键才继续往上卷 只能向下看,不能回看

 

5#less 打开文本文件

对比more 分页显示一个文件而且能够回头 /usr/bin

eg.

  less holloword.txt

  less config.xml

  在上面打开文本文件后,查看文本的一些快捷键:

    ↑↓ 换行一行一行的切换文本查看

    ctrl + f 查看下一页

    ctrl + b 查看上一页

    shift + g 查看文本文件最末

    shift + G(大写的G) 从文本文件最末跳转开始

    q 退出查看

  在less中打开文件后,输入:/zhangsan 表示在文本中向下查找“zhangsan” 有内容时,按【n】从最末向同向(向下)查找;按【N】向反方向(向上)查找 

  在less中打开文件后,输入:?zhangsan 表示在文本中向上查找“zhangsan” 有内容时,按【n】从最末向同向(向上)查找;按【N】向反方向(向下)查找 

 

5#more  打开文本文件

分页显示一个文件或任何输出结果,只能向下查看 /bin

 

6#vi 编辑文本文件

  vi helloword.txt打开helloword.txt文本文件

  输入i 进入编辑状态

  输入esc(即键盘左上角的退出键)退出编辑

    在esc退出编辑后:

      ctrl + u 撤销,一步一步的撤销(至关于windows系统的 ctrl + z)

      ctrl + r 与 ctrl + u 相反(ctrl + r 至关于windows系统的 ctrl + y)

      输入:wq退出编辑而且保存

      : q!退出不保存

 

7#ctrl + c 强制退出当前运行程序

 

8#free 

eg.

  [mobo_account_test@Web1 logs]$ free

  total used free shared buffers cached
Mem: 16426344 16168804  257540 0 319240 1334512
-/+ buffers/cache:   14515052 1911292      
Swap: 18481144 12818036 5663108      

 

 

 

 

  关于free每行每列详细说明查考博客:http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html

 

9#sh 运行当前能够执行文件

eg.

  sh restart.sh 运行restart.sh文件

 

10#date 查看当前系统时间

 eg.

  [mobo_account_test@Web1 logs]$ date
  2017年 06月 02日 星期五 16:53:54 CST

 

11#who am i 与 whoami 区别

eg.

  who am i 显示的是实际用户ID即用户登录的时候的用户ID

  whoami 显示的是有效用户ID.

  好比:su – root 切换用户操做后,who am I显示的仍是原用户,而whoami显示为切换后用户

  [mobo_account_test@Web1 logs]$ su - mobo_account
  口令:
  [mobo_account@Web1 ~]$ who am i
  mobo_account_test pts/5 2017-06-02 10:18 (192.168.31.41)
  [mobo_account@Web1 ~]$ whoami
  mobo_account

 

  [mobo_account@Web1 ~]$ who am i
  mobo_account_test pts/5 2017-06-02 10:18 (192.168.31.41)

  说明:

  第一个参数:用户名

  第二个参数:使用的终端机

  第三个参数:登陆时间

  第四个参数:登陆电脑的IP地址或者从何处登陆

 

12#who 执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入账号,使用的终端机,登入时间以及从何处登入或正在使用哪一个X显示器

  [mobo_account_dev@Web1 ~]$ who

  mobo_account pts/1        2016-08-15 09:46 (192.168.32.14)

  mobo_account pts/2        2016-08-15 09:48 (192.168.32.14)

  mobo_account pts/3        2016-08-16 09:28 (192.168.32.58)

  mobo_account pts/4        2016-08-16 09:55 (192.168.32.44)

  mobo_account_dev pts/6        2016-08-16 10:09 (192.168.31.110)

  moboacc_uat pts/7        2016-08-16 10:19 (192.168.31.189)

  mobo_account_dev pts/9        2016-08-16 10:35 (192.168.31.44)

 

13#清屏命令clearreset

  在windows 的 DOS 操做界面里面,清屏的命令是 cls

  clear 这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了一页,若是向上滚动屏幕还能够看到以前的操做信息。通常都会用这个命令。

  reset 这个命令将彻底刷新终端屏幕,以前的终端输入操做信息将都会被清空,这样虽然比较清爽,但整个命令过程速度有点慢,使用较少。

  另外介绍一个用别名来使用清屏命令的方法,以下:

  [root@localhost ~]$ alias cls='clear'

  [root@localhost ~]$ cls

  执行以上命令后,之后你就能够直接输入 cls 命令来实现和 clear 同样的清屏命令了

---------------------------------------------------------------------------------------------------华-丽-的-分-割-线-------------------------------------------------------------------------------------------------

第二次记录时间——20170605

14#grep 文本查找命令【TODO 待扩展】

eg.

  [mobo_account_dev@Web1 logs]$ grep -i 'transmitHandler:35' mobaopay_bank.txt

  13:25:30,314  INFO TransmitHandler:35 : sessionID 147132513031204597

  主要参数

    [options]主要参数:
      -c:只输出匹配行的计数(总共知足匹配的行数)。
      -i:不区分大小写

      -h:查询多文件时不显示文件名。

      -l:查询多文件时只输出包含匹配字符的文件名。

      -n:显示匹配行及行号。

      -s:不显示不存在或无匹配文本的错误信息。

      -v:显示不包含匹配文本的全部行。

    pattern正则表达式主要参数:
           \: 忽略正则表达式中特殊字符的原有含义。
           ^:匹配正则表达式的开始行。
           $: 匹配正则表达式的结束行。
           \<:从匹配正则表达 式的行开始。
           \>:到匹配正则表达式的行结束。
           [ ]:单个字符,如[A]即A符合要求 。
           [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
           .:全部的单个字符。
           * :有字符,长度能够为0。

 

问题:

weblogic.management.ManagementException: Unable to obtain lock on /home/mobo_account/bea/user_projects/domains/mobaopay_bank_domain/servers/AdminServer/tmp/AdminServer.lok. Server may already be running
at weblogic.management.internal.ServerLocks.getServerLock(ServerLocks.java:159)
at weblogic.management.internal.ServerLocks.getServerLock(ServerLocks.java:58)
at weblogic.management.internal.DomainDirectoryService.start(DomainDirectoryService.java:73)
at weblogic.t3.srvr.ServerServicesManager.startService(ServerServicesManager.java:459)
at weblogic.t3.srvr.ServerServicesManager.startInStandbyState(ServerServicesManager.java:164)
at weblogic.t3.srvr.T3Srvr.initializeStandby(T3Srvr.java:711)
at weblogic.t3.srvr.T3Srvr.startup(T3Srvr.java:482)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:440)
at weblogic.Server.main(Server.java:67)

解决办法:是由于m1.lok文件被锁住,须要释放命令以下

[weblogic@cfnltest bin]$ fuser -u /home/mobo_account/bea/user_projects/domains/mobaopay_bank_domain/servers/AdminServer/tmp/AdminServer.lok
/home/weblogic/Oracle/Middleware/user_projects/domains/domain/servers/m1/tmp/m1.lok: 26974(weblogic)

-bash: fuser: command not found(注:说明环境变量中没有启用fuser命令)
[mobo_account@Web1 mobaopay_bank_domain]$ whereis fuser(注:经过whereis fuser查看fuser可执行文件的位置)
fuser: /sbin/fuser /usr/share/man/man1p/fuser.1p.gz /usr/share/man/man1/fuser.1.gz
[mobo_account@Web1 mobaopay_bank_domain]$ /sbin/fuser -u /home/mobo_account/bea/user_projects/domains/mobaopay_bank_domain/servers/AdminServer/tmp/AdminServer.lok
/home/mobo_account/bea/user_projects/domains/mobaopay_bank_domain/servers/AdminServer/tmp/AdminServer.lok: 9267(mobo_account)( 9267表示进程ID)
[mobo_account@Web1 mobaopay_bank_domain]$ kill -9 9267
[mobo_account@Web1 mobaopay_bank_domain]$ /sbin/fuser -u /home/mobo_account/bea/user_projects/domains/mobaopay_bank_domain/servers/AdminServer/tmp/AdminServer.lok(再次查看进程ID已经被杀死)
[mobo_account@Web1 mobaopay_bank_domain]$ sh restart.sh(重启程序)

----今天要写sort/tail

相关文章
相关标签/搜索