您的位置:首页 > 运维架构 > Linux

Linux命令笔记

2015-10-29 16:58 405 查看
  附:vim的入门书,感觉比vimtutor还要赞一点。

  看完《每天一个linux命令系列 》基本上就差不多了,但是还是有一些需要补上的。

日常+生癖命令:

(1)删除软件:sudo apt-get autoremove --purge 软件名

(2)更新源:sudo apt-get update

(3)复制文件:cp 源文件 目标位置+名称

(4)查看c/c++文件的汇编代码:编译时加-g选项,再 objdump -S 文件名 即可。

(5)Linux添加/删除用户和用户组

(6)linux下常用FTP命令 1. 连接ftp服务器

(7)Ubuntu使用FTP时显示500 Illegal PORT command

(8)LINUX的FTP使用方法

(9)objdump命令的使用 (用于反汇编二进制文件)

(10)以树形显示某个文件夹下所有文件:tree

(11)以树形显示进程之间的关系:pstree

(12)命令行抓包工具(大部分是ip包):tcpdump

常用命令:

(1)pwd命令:

  打印当前所在目录的完整路径。这个命令比较简单,只有两个选项-L或-P。

  -L  表示显示逻辑路径。即你从哪里一层层来的,就打印这个。

  -P  表示显示物理路径。即你可能从很复杂的软链接中飞来飞去,但是所进目录并不是物理存在的,加此选项会显示你真实所在目录的路径。

(2)man命令:

  用于查看各种手册或者命令使用方法。下面这篇文章讲得不错。

  Linux man命令的使用方法

(3)cp命令:

  复制东西所需要的命令。格式:cp [源头] [目的]

  [注意]顶多可以帮你创建一个目录,不能多个。下面选项中冲突的会产生覆盖,即前者总是被覆盖,如-i和-n选项。

  -a:  此参数的效果和同时指定"-dpR"参数相同;
  -d:  当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
  -f:  强行复制文件或目录,不论目标文件或目录是否已存在;
  -i:  覆盖既有文件之前先询问用户;
  -l:  对源文件建立硬连接,而非复制文件;
  -p:  保留源文件或目录的属性;
  -R/r: 递归处理,将指定目录下的所有文件与子目录一并处理;
  -s:  对源文件建立符号连接,而非复制文件;
  -u:  使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
  -S:  在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
  -b:  覆盖已存在的文件目标前将目标文件备份;
  -v:  详细显示命令执行的操作。

(4)ln命令(link命令):

  用于创建链接。格式:ln oldfile newfile

  硬链接:定义了文件的别名,直接对原文件进行操作。目录不允许被创建硬链接,而目录..就是硬链接。

  软链接:创建一个数据块来保存真实文件的路径。

  见图即可理解软硬链接的区别了。

  

source/etc/profile是让/etc/profile文件修改后立即生效,
还有一种方法是:. /etc/profile
注意:.和/etc/profile有空格
linux中source命令
source命令也称为“点命令”也就是一个符号(.).source命令通常用于重新执行刚修改的初始或文件,使之立即生效,而不必注销并重新登录。
用法: source filename 或. filename
附:source命令除了上述的用途之外,还有一个用途。
在对编译系统核心时常常需要输入一长串的命令,如:
make mrproper
make menuconfig
make dep
make clean
make bzImage
…………
如果把这些命令做成一个文件,让它自动顺序执行,对于需要多次反复编译系统核心的用户来说会很方便,而用source命令就可以做到这一点,它的作用就是把一个文件的内容当成shell来执行,先在linux的源代码目录下(如/usr/src/linux-2.4.20)建立一个文件,如make_command,在其中输入一下内容:
make mrproper &&
make menuconfig &&
make dep &&
make clean &&
make bzImage &&
make modules &&
make modules_install &&
cp arch/i386/boot/bzImage /boot/vmlinuz_new &&
cp System.map /boot &&
vi /etc/lilo.conf &&
lilo -v
文件建立好之后,每次编译核心的时候,只需要在/usr/src/linux-2.4.20下输入:
source make_command
即可,如果你用的不是lilo来引导系统,可以把最后两行去掉,配置自己的引导程序来引导内核。
顺便补充一点,&&命令表示顺序执行由它连接的命令,但是只有它之前的命令成功执行完成了之后才可以继续执行它后面的命令。


source
(2)ulimit命令:选项-a可以显示本linux系统的程序的一些设置及限制,比如程序栈的大小。也可以直接加 -x 数字 来修改,x表示对应的选项,数字表示大小,也可以为unlimited。

(3)chmod命令:用于更改文件权限,用法如 chmod u+rwx test.cpp ,其中u可以替换为g或o,表示用户,组或其他人,+号表示加权限,减号则相反,后3个表示权限,最后是文件名了。

(4)umask命令:用于显示“新创建的文件的默认权限”。创建时,文件默认666,目录默认777,减去umask的位就是结果了,如文件的666-245=422=-r---w---w-。

(5)apt-get -f install 是修复依赖关系(depends)的命令,假如系统上有某个package不满足依赖条件,这个命令就会自动修复,安装那个package依赖的package。即缺少package时安装一下。

  apt-get purge用于卸载并清除软件包的配置。

(7)wc命令:用于统计文件的数量、行数、字节数、字符数、最长行的长度、单词数等等。

(8)find命令:用于在当前路径下查找,比如find -name *.cpp 就是查找出所有以.cpp为后缀的文件。

(9)cat,more,less命令:这三个命令都用于显示文件。但是cat 文件如果太大的话前面的部分会被剪除。more是讲文件按页来显示的。less是滚屏显示(不会自动滚的)。

有用的操作:

(1)安装.deb的包:使用dpkg -i 包名 即可,但是可能会有依赖问题,即缺少其他安装包,那么直接apt-get install -f 全部给补上。

资源相关的操作:

(1)系统

# uname -a #查看内核/操作系统/CPU信息

# head -n 1 /etc/issue #查看操作系统版本

# cat /proc/cpuinfo #查看CPU信息

# hostname #查看计算机名

# lspci -tv #列出所有PCI设备

# lsusb -tv #列出所有USB设备

# lsmod #列出加载的内核模块

# env #查看环境变量

(2)资源

# free -m #查看内存使用量和交换区使用量

# df -h #查看各分区使用情况

# du -sh <目录名> #查看指定目录的大小

# grep MemTotal /proc/meminfo #查看内存总量

# grep MemFree /proc/meminfo #查看空闲内存量

# uptime #查看系统运行时间、用户数、负载

# cat /proc/loadavg #查看系统负载

(3)磁盘和分区

# mount | column -t #查看挂接的分区状态

# fdisk -l #查看所有分区

# swapon -s #查看所有交换分区

# hdparm -i /dev/hda #查看磁盘参数(仅适用于IDE设备)

# dmesg | grep IDE #查看启动时IDE设备检测状况

(4)网络

# ifconfig #查看所有网络接口的属性

# iptables -L #查看防火墙设置

# route -n #查看路由表

# netstat -lntp #查看所有监听端口

# netstat -antp #查看所有已经建立的连接

# netstat -s #查看网络统计信息

(5)进程

# ps -ef #查看所有进程

# top #实时显示进程状态

(6)用户

# w #查看活动用户

# id <用户名> #查看指定用户信息

# last #查看用户登录日志

# cut -d: -f1 /etc/passwd #查看系统所有用户

# cut -d: -f1 /etc/group #查看系统所有组

# crontab -l #查看当前用户的计划任务

(7)服务

# chkconfig --list #列出所有系统服务

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

(8)程序

# rpm -qa #查看所有安装的软件包
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: