`

Linux 命令集锦

 
阅读更多

Linux常用命令全集

http://linux.chinaitlab.com/special/linuxcom/


Linux 常用C函数

http://net.pku.edu.cn/~yhf/linux_c/

http://man.chinaunix.net/develop/c&c++/linux_c/default.htm


修改CentOS yum源


帮助

#mknod --help

可以查看帮助


shell

Linux 的命令 shell 是与操作系统相分离的一层。不同的 shell 环境影响您具备不同的功能,比如可编辑的命令行和历史命令回查等。shell 还决定了脚本中函数的语法。

默认的 shell 是每个用户帐号的一个参数。Linux 中典型的默认 shell 是 /bin/bash,不过也可以用其他的 shell。每个 shell 的man文档实际上都非常好,都对各种 shell 及其使用进行了详细的说明。仅仅阅读下面的解释是不够的,应该从下面列出的 shell 中选择一个,去查看它的 man 文档。

bash
bash shell 是 Bourne shell 的一个免费版本,它是最早的 Unix shell,包括许多附加的特点。Bash 有可编辑的命令行,可以回查历史命令,支持 tab 键补齐以使用户避免输入长的文件名。

csh
C shell 使用的是“类C”语法,借鉴了 Bourne shell 的许多特点,只是内部 shell 命令集有所不同。

ksh
Korn shell 的语法与 Bourne shell 相同,同时具备了 C shell 的易用特点。许多安装脚本都使用ksh,即使您不把它作为您的主 shell,您也应该在系统中安装它。

tcsh
TC shell 是 C shell 的一个增强版本,与 C shell 完全兼容。

zsh
Z shell 是 Korn shell 的一个增强版本,具备 bash shell 的许多特色。

Shell 规则

您只需在控制台中执行相应的命令就可以随时切换 shell。只要在文件顶部放置一个井号 (#!) 指向需要的 shell,脚本就可以指定想要运行的 shell。当脚本运行的时候,不管用户所处的 shell 环境是什么,它都会在正确的 shell 环境中运行。下面例子中的这行代码指出脚本需要在 C shell 下运行:

#!/bin/csh


cd
使用我们所熟悉的cd命令可以在目录间切换。一定注意的是在 Linux 中用的是正斜杠 (/),而不是您所熟悉的反斜杠 (\)。反斜杠也用到了,但只是用来说明命令需要换行继续,这样可以提高比较长的命令的可读性。

ls
ls命令用于列出一个目录下的所有文件。可以使用许多不同的开关更改列表的表示形式:

ls -l 以长格式列出文件,包括文件大小、日期和时间、属性
ls -t 对文件以时间排序
ls -S 对文件以大小排序
ls -r 与一个排序开关组合起来使用,逆序排列。ls -t将最新的文件显示在列表的顶部。ls -t将最新的文件显示在底部。
ls -h 易读格式。使用 k、M、G 等来标识文件的大小,而不是以字节为单位。
ls -a 显示目录中所有的文件,包括隐藏文件

cp
使用cp命令来复制文件。这个命令与 DOS 下的copy命令基本一样。基本的开关如下:

cp -R 递归地复制文件;当需要复制整个目录时会用到
cp -f 强制复制并覆盖已有的文件,不询问用户
cp -l 链接文件,而不是复制;见下面的说明

使用复制命令创建链接

cp命令可以创建指向一个文件或者整个文件结构的硬链接。使用-l开关来指明操作是链接复制。所有的目录仍作为目录创建,但所有的文件会被设置为硬链接。

cp -lR /data/accounting/payroll /data/management/hr

上面的命令将把整个目录结构及其下面的文件从 /data/accounting/payroll 复制到 /data/management/hr/payroll。目录结构下的所有文件将被设置为硬链接。这样使一个文件在同一个文件系统中可以具备不同的视图。这也是有用的安全技术,使得在不同的目录下对同一文件有不同的访问权限。

mv
使用mv命令来移动和重命名文件。这个命令的工作方式基本上与 DOS 中的move命令一样,不过它可以移动整个目录结构及所有文件。

cat
使用cat命令来查看文件的内容。它相当于 DOS 中的type命令。它将把文件的内容转储到另一个文件、屏幕或者其他命令。cat是concatenate 的简写,还可以将一系列的文件合并为一个大文件。

more
使用命令more可以以分页的方式查看文件。它基本上与 DOS 中的more命令相同。

less
less命令也是用来查看文件,但是它支持上下滚屏以及在文档中进行文本搜索。

vi
有一些人可能会说vi表示“virtually impossible”。它是 Unix 中的一个历史悠久的文本编辑器。vi并不真正直观,但是现在几乎所有的类 Unix 环境中都有vi。对于 Linux 中安装的版本有一个内置的教程,一旦您熟悉了vi,只需几次击键就可以完成不可思议的任务。说实话,没有任何编辑器能够取代 vi 来编辑密码和配置文件。

man
使用man命令来查看命令的文档。man 是manual的缩写。几乎每一个命令都有相应的文档。要深入了解man,请输入以下命令:

man man

info
info命令与man命令类似,不过它提供了超链接文本,可以更方便地浏览文档。


硬链接和软链接

命令ln <source> <target>来创建。ln默认创建的是硬链接。使用-s开关可以创建符号链接。

 # Create a hard link from MyFile in the current
          

 # directory to /YourDir/MyFile
          

ln MyFile /YourDir
          

                    

 # Create a symbolic (soft) link from MyFile in
          

 # the current directory to /YourDir/YourFile
          

ln -s MyFile /YourDir/Yourfile
        

在上面的例子中,MyFile、/YourDir/MyFile 和 /YourDir/Yourfile 会被看成是同一个文件。

---------------------------------------------------

改IP,可以用 netconfig,可惜每次都得输入完整的IP、掩码、网关和DNS。 不如直接 vi /etc/sysconfig/network-scripts/ifcfg-eth0 再 /etc/init.d/network restart 来得快。

改DNS,最快的就是 vi /etc/resolv.conf,不用重启。


重启httpd

# /etc/init.d/httpd restart

要比

# service httpd restart

快,因为前者可以补齐而后者不能。

修改系统服务,用chkconfig要比setup方便。

看最新的log,用 tail -f /var/log/xxx.log 比 vi /var/log/xxx.log 方便。 看不清的话就先 clear 再 tail -n 0 -f /var/log/xxx.log。

-----------------------------------------------------

wc命令

参数及含义

参数 含义
-c 显示文件的Bytes数(字节数)
-l 将每个文件的行数及文件名输出到屏幕上
-m 将每个文件的字符数及文件名输出到屏幕上,如果当前系统不支持多字节字符其将显示与-c参数相同的结果
-w 将每个文件含有多少个词及文件名输出到屏幕上

举例

Welcome to xiaoxiaozi.com
欢迎来到这里
wc-cwldemo.txt
#2 4 39 demo.txt 顺序依次是 l w c

更多参考:http://blog.csdn.net/21aspnet/article/details/7515442

-----------------------------------------------------

fc命令

fc是bash的一个内部命令, 作用是修改命令历史中的命令。man bash然后搜索fc即可看到用法。

顺便总结一下bash命令行历史的用法:

history
命令查看以前用过的命令行列表。
!123
执行命令历史中编号为123的命令。
!cat
执行最后一条以cat开头的命令。
!!
执行上一条命令。
fc
打开编辑器(vim)编辑上一条命令。
fc 123
编辑命令历史中编号为123的命令。
fc 123 130
编辑命令历史中123-130的八条命令,退出后依次执行
fc ls
编辑最后一条以ls开头的命令。
fc -s ls=cat ls
将最后一条以ls开头的命令中的ls替换成cat,然后执行

-----------------------------------------------------

centos 命令行启动与图形启动

编辑/etc/inittab文件

命令行启动

#id:3:initdefault:

图形启动

#id:5:initdefault:

centos默认的语言编码是“zh_CN.UTF-8”,这在X-Window桌面环境下的“终端”窗口操作是能正确显示汉字的,但如果是通过SSH或Telnet等方式进行远程管理,就会发现所有的汉字变成乱码了。要解决这个问题,编辑文件 /etc/sysconfig/i18n,将第1句“LANG=”zh_CN.UTF-8″”改为“LANG=”zh_CN.GB18030″”即可。完成后,重新登录,发现所有汉字已经能正常显示,改回英文:

LANG=”en_US.UTF-8″
SYSFONT=”latarcyrheb-sun16″”

-----------------------------------------

重启网络

#service network restart

---------------------------

查看proc

#ls /proc/


内存使用信息

#cat /proc/meminfo

#free


CPU使用信息

#cat /proc/cpuinfo


linux版本

#cat /proc/version


硬盘使用

#df

#du 文件大小

#du -sh /usr 文件大小


系统日志

#ls /var/log/

#cat /var/log/messages 系统报错日志

#tail /var/log/messages 后N条

#tail -2 /var/log/messages

#head /var/log/messages 前N条

#head -2 /var/log/messages

#cat /var/log/boot.log 系统引导过程日志

#cat /var/log/cron 记录守护进程派生子进程

#cat /var/log/dmesg 核心启动日志

#cat /var/log/xferlog 记录FTP会话 #cat /var/log/maillog 邮件系统日志

#cat /var/log/secure 安全信息

#cat /var/log/wtmp 永久记录用户登录事件(二进制文件 无法改)

#last 查看最近登录

#kill -l 所有信号

----------------------------------------------------------------------

看进程

#ps

#ps a

#ps au

#ps aux 显示后台进程

#ps auxf 进程父子关系

#ps -ef


killall -9 httpd

查找进程树

#pstree

--------------------------------------------------------------------------------------------------------------------------------------------------------------------


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

# ls -l 文件名 查看单个文件属性

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

文件权限

直接运行文件

先输入ls -al,可以看到文件夹的所有文件权限如:
 -rw-r--r-- (一共10个参数)
第一个跟参数如果是目录会是d,不然是-,先不管.
2-4参数:属于user
5-7参数:属于group
8-10参数:属于others
接下来就简单了:r==>可读 w==>可写 x==>可执行
               r=4      w=2      x=1
chmod 755代表-rwxr-xr-x
chmod 777代表-rwxrwxrwx

加权限

#chmod 777 文件名

#chmod u+x 文件名

也可以

#chmod 777 文件名.* 这样同一目录相似文件开头的都被加上权限

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

系统

# uname -a               # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue   # 查看操作系统版本
# cat /proc/cpuinfo      # 查看CPU信息
# hostname               # 查看计算机名
# lspci -tv              # 列出所有PCI设备
# lsusb -tv              # 列出所有USB设备
# lsmod                  # 列出加载的内核模块
# env                    # 查看环境变量

资源

# free -m                # 查看内存使用量和交换区使用量
# df -h                  # 查看各分区使用情况
# du -sh <目录名>        # 查看指定目录的大小
# grep MemTotal /proc/meminfo   # 查看内存总量
# grep MemFree /proc/meminfo    # 查看空闲内存量
# uptime                 # 查看系统运行时间、用户数、负载
# cat /proc/loadavg      # 查看系统负载

磁盘和分区

# mount | column -t      # 查看挂接的分区状态
# fdisk -l               # 查看所有分区
# swapon -s              # 查看所有交换分区
# hdparm -i /dev/hda     # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE       # 查看启动时IDE设备检测状况

网络

# ifconfig               # 查看所有网络接口的属性
# iptables -L            # 查看防火墙设置
# route -n               # 查看路由表
# netstat -lntp          # 查看所有监听端口
# netstat -antp          # 查看所有已经建立的连接
# netstat -s             # 查看网络统计信息

用户

# w                      # 查看活动用户
# id <用户名>            # 查看指定用户信息
# last                   # 查看用户登录日志
# cut -d: -f1 /etc/passwd   # 查看系统所有用户
# cut -d: -f1 /etc/group    # 查看系统所有组
# crontab -l             # 查看当前用户的计划任务

服务

# chkconfig --list       # 列出所有系统服务
# chkconfig --list | grep on    # 列出所有启动的系统服务

程序

# rpm -qa                # 查看所有安装的软件包

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

Linux安装缺失

rz: command not found

#yum install lrzsz

如果yum源没有直接下载到本地

#yum localinstall 文件

下载rpm

#rpm -i 文件

--------------------------------------------

cc: command not found

#yum gcc


--------------------------------------------

yum 没有g++的问题

#yum install gcc-c++

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

查找

#whereis

#which

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

建立目录#mkdir

删除目录#rmdir

------------------

#cp file1 file2 把file1拷贝到file2

#mv mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中

#mv abc /home/将当前目录下的abc文件夹移动到/home/目录下
---------------

删除

#rm -rf 文件名

删除类似文件名 例如日志

#rm -rf 文件名*

rm -rf event201109*.log 匹配所有 event20110901.log 到 event20110931.log的

或者

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

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

打包压缩

单个文件压缩打包 tar czvf my.tar file1

多个文件压缩打包 tar czvf my.tar file1 file2,...

单个目录压缩打包 tar czvf my.tar dir1

多个目录压缩打包 tar czvf my.tar dir1 dir2

解包至当前目录:tar xzvf my.tar

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

系统历史
#lastlog
#history | more    空格键
==================
查看磁盘空间的使用情况可以使用
#df -h
,用M和G显示比   df直接显示文件k要好很多

ls命令一般用来查看文件的属性列表。
ls -lh 只是显示一般的文件,以点(.)开头的隐藏文件并没有显示出来。试试 ls -la /
#is -lh  文件
#du -sh /root
输出1.2G /root
#ls -lh /root
=============================
tail notes要指定从 notes 文件末尾开始读取的行数,输入: 
tail -n 20 notes 

要从第 200 字节开始,每次显示一页 notes 文件,输入: 
tail -c +200 notes | pg 

要跟踪文件的增长,输入: 
tail -f accounts
这显示 accounts 文件的最后十行。tail 命令继续显示添加到 accounts 文件中的行。显示会一直继续,直到您按下 Ctrl-C 按键顺序来停止。
==============================
增加权限和文件格式转换(不然apache会报没权限执行文件)
#chmod +x   文件
#dos2unix   文件
=============================

#useraddyouname 增加用户名

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

#chown -R yourname:yournamelogs/ 给php写日志的权限 这个就是在apache里配置的

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

文件查找

#find / -name "mysql*"

查看当前目录下文件的个数
#ls -l |grep "^-"|wc -l
查看当前目录下文件的个数,包括子目录里的。
#ls -lR| grep "^-" | wc -l
查看某目录下文件夹(目录)的个数,包括子目录里的。
#ls -lR| grep "^d" | wc -l

----------------------------------------------------------------------------------------------------------------------------------

CTRL + c 中断

CTRL + z 暂停放到后台

CTRL + d 保存退出

TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。

#top


K 杀进程 用15号信号 9号最好用直接干掉

----------------------------------------------------------------------------------------------------------------------------------

grep

要查进程的名字,grep 是管道命令 模糊查找

#ps aux |grep 进程名

更多grep参考:http://blog.csdn.net/21aspnet/article/details/7515327

----------------------------------------------------------------------------------------------------------------------------------

如何查看CPU是多少位,本机输出32

#getconf LONG_BIT


linux开机关机命令

重启命令:

1、reboot

2、shutdown -r now立刻重启(root用户使用)

3、shutdown -r 10过10分钟自动重启(root用户使用)

4、shutdown -r 20:35在时间为20:35时候重启(root用户使用)

如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

关机命令:
1、halt立刻关机
2、poweroff立刻关机
3、shutdown -h now立刻关机(root用户使用)
4、shutdown -h 1010分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启

/etc/init.d/network restart

=========================================
netstat -a 查看开启了哪些端口,常用netstat -an 
netstat -n 查看端口的网络连接情况,常用netstat -an 
netstat -v 查看正在进行的工作 
netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况(查看tcp/ip协议使用情况) 
netstat -s 查看正在使用的所有协议使用情况 
nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名(03前的为用户名)-注意:参数-A要大写

netstat -nlp 命令可以显示当前用户运行的正在监听的网络进程的状态。在正常情况下,在显示结果的PID/Program name一列显示了进程的进程号和程序的名称。

--------------------------------------------

开机自动联网


安装flash

1、下载Flash控件

请到官方下载linux 与tar.gz后辍的格式,URL:http://get.adobe.com/cn/flashplayer/completion/?installer=Flash_Player_10.1_for_Linux_(.tar.gz)

2、解压

将下载的文件“install_flash_player_10_linux.tar.gz”,比如下载 存放在/home/jecks/Desktop/下 ;

# cd /home/jecks/Desktop/
# tar -zxvf install_flash_player_10_linux.tar.gz
# ls libflashplayer.so

解压后得到“libflashplayer.so”,将此文件复制到/usr/lib/mozilla/plugins/目录下;

# cp libflashplayer.so /usr/lib/mozilla/plugins/

chmod 755 /usr/lib64/mozilla/plugins/libflashplayer.so
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics