`

linux 命令 (整理中)

阅读更多
1. Linux删除文件夹命令

linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中。

现在使用rm -rf命令即可(rm -rf / 此命令将递归并强制删除 / 目录下的所有文件。)。
直接rm就可以了,不过要加两个参数-rf 即:rm -rf   目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意

删除文件夹实例:
rm -rf /var/log/httpd/access

将会删除/var/log/httpd/access目录以及其下所有文件、文件夹

需要提醒的是:使用这个rm -rf的时候一定要格外小心,linux没有回收站的


当然,rm还有更多的其他参数和用法,man rm就可以查看了

删除文件使用实例:
rm -f /var/log/httpd/access.log

将会强制删除/var/log/httpd/access.log这个文件




2.创建用户(http://apps.hi.baidu.com/share/detail/6615484


创建用户、设置密码、修改用户、删除用户:
useradd testuser 创建用户testuser
passwd testuser 给已创建的用户testuser设置密码
说明:新创建的用户会在/home下创建一个用户目录testuser
usermod --help 修改用户这个命令的相关参数
userdel testuser 删除用户testuser
rm -rf testuser 删除用户testuser所在目录

上面的几个命令只有root账号才可以使用,如果你不知道自己的系统上面的命令在什么位置可以使用如下命令查找其路径:

useradd 用户名
passwd 用户名
输入密码即可



3.Linux Unzip命令

你只要用unzip yourfile.zip就可以了阿
比如说你的压缩文件名字叫做test.zip,你可以实用如下命令
unzip test.zip
就可以解压到您当前文件夹下了

关于unzip的命令详解我写在下面:
语法:unzip [选项] 压缩文件名.zip
各选项的含义分别为:
-x 文件列表 解压缩文件,但不包括指定的file文件。
-v 查看压缩文件目录,但不解压。
-t 测试文件有无损坏,但不解压。
-d 目录 把压缩文件解到指定目录下。
-z 只显示压缩文件的注解。
-n 不覆盖已经存在的文件。
-o 覆盖已存在的文件且不要求用户确认。
-j 不重建文档的目录结构,把所有文件解压到同一目录下。
例1:将压缩文件text.zip在当前目录下解压缩。
$ unzip text.zip
例2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
$ unzip -n text.zip -d /tmp
例3:查看压缩文件目录,但不解压。
$ unzip -v text.zip
希望我的回答可以帮助您……good luck




4. ln(link)命令

功能说明:连接文件或目录。

语  法:ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录][目标文件或目录] 或 ln [-bdfinsv][-S <字尾备份字符串>][-V <备份方式>][--help][--version][源文件或目录...][目的目录]

补充说明:ln命令用在连接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。

参  数:
 -b或--backup  删除,覆盖目标文件之前的备份。
 -d或-F或--directory  建立目录的硬连接。
 -f或--force  强行建立文件或目录的连接,不论文件或目录是否存在。
 -i或--interactive  覆盖既有文件之前先询问用户。
 -n或--no-dereference  把符号连接的目的目录视为一般文件。
 -s或--symbolic  对源文件建立符号连接,而非硬连接。
 -S<字尾备份字符串>或--suffix=<字尾备份字符串>  用-b参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的字尾备份字符串是符号~,您可通过-S参数来改变它。
 -v或--verbose  显示指令执行过程。
 -V<备份方式>或--version-control=<备份方式>  用-b参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用-S参数变更,当使用-V参数<备份方式>指定不同备份方式时,也会产生不同字尾的备份字符串。
 --help  在线帮助。
 --version  显示版本信息。

ln

这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这

个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要

在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例

如:ln -s /bin/less /usr/local/bin/less
-s 是代号(symbolic)的意思。
这里有两点要注意:
第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
第二,ln的链接又软链接和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会

占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链

接还是硬链接,文件都保持同步变化。
第三,软链接是可以跨分区的,但是硬链接只能在同一分区内。
如果你用ls察看一个目录时,发现有的文件或文件夹的颜色和别的不一样,我机子上是蓝色的,那就是一个用ln命令生成的文件,用ls -l命令去察看 ,就可以看到显示的link的路径了。

ln -s   /usr/local/jdk1.5.0_05/bin/java  /bin/java    //源文件  目标文件(命令里使用的)




5. linux 上面远程 链接数据库

mysql -u username -ppasswd -h host -P 3306

[root@dev87 logivew]# mysql -u consoleadmin -prdyh45td -h 172.16.100.163 -P 3309
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10020369
Server version: 5.0.27-max MySQL Community Edition - Experimental (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show tables
    -> ;
ERROR 1046 (3D000): No database selected
mysql> use cli_console
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>  show tables
    -> ;
+-----------------------+
| Tables_in_cli_console |
+-----------------------+
| cwc_appgroup          |
| cwc_clients           |
| cwc_cluster           |
| cwc_datasource        |
| cwc_dbload            |
| cwc_event_list        |
| cwc_machine           |
| cwc_menu              |
| cwc_program           |
| cwc_program_machine   |
| cwc_role              |
| cwc_url_list          |
| cwc_user              |
+-----------------------+
13 rows in set (0.00 sec)





//tar(z-用 gzip 对存档压缩或解压;x-从存档展开文件;v-详细显示处理的文//件;f-指定存档或设备)
tar –zxvf nginx-0.8.54.tar.gz
//ip查看
ifconfig
//移动文件,改名也是这样
sudo mv /xx/lists /xx/lists.old
//copy cp –R ,递归目录
sudo cp support-files/my-medium.cnf /etc/my.cnf
//新建目录
sudo mkdir -p lists/partial
//建立软连接
sudo ln -s  /usr/local/mysql-5.1.56 mysql
//选定编译的目录
./configure -prefix=/usr/local
//编译
make
//安装编译好的源码包
make install
//编辑文件
sudo gedit  /etc/profile

//修改根限:chmod说明(u:与文件属主拥有一样的权限[a:所有人];+:增加//权限;rwx:可读可写可执行)
//-R:递归所有目录和文件
sudo chmod a+rwx -R logs
//查看下/usr/local/lib是否有libevent等文件
ls -al /usr/local/lib|grep libevent
//检查是库是否安装成功
dpkg --list|grep ssh
//下载安装库
sudo apt-get install ssh
//检查服务启动是否正常
ps -ef|grep ssh
//查找openssl安装路径
whereis openssl
//更新源
sudo apt-get update 
//更新已安装的包
sudo apt-get upgrade 
//查看端口占用情况
sudo netstat -lnp|grep 80
//查看pid 为762的进程
ps 762
//kill pid=762
kill 762





在Linux中,分区是这样表示的
 
 

/dev/hda
/dev/hda1
/dev/hda2
/dev/hda5
/dev/sdb1

以 /dev/hda5 为例:

  因为在Linux中,每一个设备都是用 /dev/ 文件夹下的一个文件来表示,所以 /dev/hda5 中, /dev/ 表示的是根目录下的dev目录,我们来看剩下的部分 hda5 。

  前两位的字母 hd 表示这是一块IDE硬盘,如果是 sd ,则代表SATA硬盘,或者闪存等外设。

  第三位的字母 a 表示这是该类型接口上的第一个设备。同理, b、c、d…… 分别代表该类型接口上的第二三四……个设备。例如 hdc 表示第二个IDE接口上的主硬盘(每个IDE接口上允许一个主设备和一个从设备)。

  第四位的数字 5 ,并不表示这是该硬盘中的第5个分区,而是第一个逻辑分区。因为在Linux中,为了避免不必要的混乱,分区的顺序是不能改变的,分区标识则由它们在硬盘中的位置决定。系统又要为所有可能的主分区预留标识,所以 1-4 一定不会是逻辑分区, 5 则是第一个逻辑分区,以此类推。




路径相关命令   

      cd (change directory) 更改目录。
    pwd (print working directory)显示当前路径。
    ls (list) 显示当前目录中的文件列表。

    cd /etc 进入“/etc”目录,这里使用的是绝对路径
    pwd 显示当前路径,这个命令返回结果“/etc”
    cd init.d 进入“/etc”目录的子目录“init.d”,这里使用的是相对路径
    cd .. 进入上一级目录“/etc”
    cd ../home “/etc” 目录的上一级目录为“/”,它的子目录“home”为“/home”
    cd - 回到上一次的目录,我们在“/etc”目录跳转到“/home”目录,所以这次是回到“/etc”目录
    cd ~ “~”代表当前用户的“$HOME”目录,也就是“/home/{用户名}”目录。
    ls 在任何时候,您都可以使用“ls”命令,来了解当前目录下都有哪些文件。


管道、重定向
  >
  重定向符号,它的作用是将命令的输出重定向到一个文件中。比如我们想把命令 ls 的结果保存为 FileList 文件,作一个清单,我们可以使用重定向符号来完成它:

    ls -l > FileList

  >>
  作用与 > 基本相同,不同点在于, >> 以追加的方式,将命令的输出写入文件的末尾。

  <
  是从文件到命令的重定向,将文件的内容作为命令的输入。

  |
  为管道符号,它的作用是将前一个命令的输出,作为下一个命令的输入。假设一个目录下的文件太多,使用 ls 命令不能够在屏幕中完全显示,这个时候您可以将 ls 命令的输出,通过管道符号,作为浏览器 less 的输入。就可以使用浏览器的功能翻页、查找:

    ls -al | less


误按Ctrl+S
出于意外,有时您会按下 Ctrl+s 这个组合键,Shell便被冻结。尝试使用 Ctrl+q 组合键,看能否恢复正常。

文件类型
Linux系统主要根据文件头信息来判断文件类型,扩展名并非决定因素。

  现在使用 ls -l 命令,查看详细信息格式的文件列表,您将会看到如下内容:

    total 5
    drwxr-x--- 4 user group 4096 Mar 10 00:37 filename
    drwxr-xr-x 21 user group 4096 Mar 10 20:16 文件名
    -rw------- 1 user group 524 Mar 10 00:40 a
    -rw-r--r-- 1 user group 24 Jun 11 2000 b
    drwx------ 2 user group 4096 Mar 9 11:06 c

  共显示了七列信息,从左至右依次为:权限、文件数、归属用户、归属群组、文件大小、创建日期、文件名称

  其中要特别留意的是第一列:

    drwxr-xr-x

  一共有10个位置,可以分为4组:

    d rwx r-x r-x

  第一组只有一个字符:
  d 文件夹
  - 普通文件
  l 链接
  b 块设备文件
  c 字符设备文件。

  剩下的3组分别为归属用户、归属群组、其它用户或群组对于该文件的权限。我们看它的格式

  rwx rwx rwx
  r 可读
  w 可写
  x 可执行

  它们的顺便不能颠倒,某一位置为空(-),则表示不具有相应的权限。


使用什么命令查看目录下所有文件大小和文件多少?
du -a   ls -lR  ls-all



chown   
    使用权限 : root  
  使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...
  说明 : Linux/Unix 是多人多工操作系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
  参数 :   
  user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本
  范例 :
  将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :
   chown mysqladmin:dba file1.txt
  

   dos2unix  

dos2unix filename : 把dos文件转换成unix文件,可以避免在unix下执行文件时空行报错
  

scp
[root@dev87 test]# scp /root/test/liliugen.txt root@172.16.100.35:/home/cliuser
reverse mapping checking getaddrinfo for dtn-twdb1.telenav.cn failed - POSSIBLE BREAK-IN ATTEMPT!
root@172.16.100.35's password:
liliugen.txt                                                                                                                        100%   43     0.0KB/s   00:00   
[root@dev87 test]#


scp - Linux command line tool to copy files over ssh
Fri, 06/08/2007 - 18:22 — ggarron
Linux command line
scp stands for secure cp (copy), which means that you can copy files across an ssh connection that will be encrypted, and therefore secured.

You can this way copy files from or to a remote server, you can even copy files from one remote server to another remote server, without passing through your PC.

Usage

scp [[user@]from-host:]source-file [[user@]to-host:][destination-file]

Description of options

from-host
Is the name or IP of the host where the source file is, this can be omitted if the from-host is the host where you are actually issuing the command
user
Is the user which have the right to access the file and directory that is supposed to be copied in the cas of the from-host and the user who has the rights to write in the to-host
source-file
Is the file or files that are going to be copied to the destination host, it can be a directory but in that case you need to specify the -r option to copy the contents of the directory
destination-file
Is the name that the copied file is going to take in the to-host, if none is given all copied files are going to maintain its names
Options

-p
Preserves the modification and access times, as well as the permissions of the source-file in the destination-file
-q
Do not display the progress bar
-r
Recursive, so it copies the contents of the source-file (directory in this case) recursively
-v
Displays debugging messages
Examples

scp *.txt user@remote.server.com:/home/user/

This will copy all files with .txt extension to the directory /home/user in the remote.server.com host

scp -r miguel@10.1.2.2:/home/miguel/ miguel@10.1.2.3:/home/miguel/

This is going to recursively copy all files from miguel's Home directory on 10.1.2.2 host to his Home directory in 10.1.2.3 host.

Note

To use this command you need to have open-ssh installed in the hosts.



Linux查看端口命令

netstat -an 查看网络端口

lsof -i :port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。

nmap 端口扫描

文件/etc/services显示的各个服务的端口号;
使用netstat -a 可以看见所有的端口号。

[root@dev87 ~]# netstat -pan|grep 4444
tcp        0      0 :::4444                     :::*                        LISTEN      12606/java  

[root@test root]# telnet localhost 110
# 侦测本机端的 110 这个 port 是否有启动
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
上面是没有开启 port 110 的情况!所以显示联机不成功! refused

[root@test root]# telnet localhost 110
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
+OK POP3 test v2000.70rh server ready
quit<==这里输入离开的指令为 quit 呦!
+OK Sayonara <==哈哈!还告诉您日本话『纱呦那哪』
Connection closed by foreign host.




去vi搜索后高亮显示
在vi中搜索了一个单词,该单词以高亮显示,看起来很不舒服,怎么能将它去掉在vi的命令模式下输入:nohlsearch就可以了。另外可以在~/.vimrc中写上下面的语句就会有高亮显示:
set hlsearch
加上下面的语句就不会有高亮显示:
set nohlsearch

vi语法高亮

配置.vimrc文件加入

syntax on


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics