linux下常用的一些命令(草稿)

文件和目录操作

1.1 cd 切换当前目录到工作目录

cd ..却换到上一级目录

cd  ~切换到用户目录

cd  /切换到根目录

cd 切换到上一次访问的目录

 

1.2 chmod  改变文件权限

chmod a+x * 对所有用户添加执行权限 ,*表示当前目录下所有文件

chmod 777 * 对所有用户添加rwx权限

1.3 chown改变文件的所有者和组

chown cv guest:guest root:root ./*.txt txt类型的文件所有者从root用户组root用户改成guest用户组guest用户

1.4  cp复制文件或目录

cp R dir1/ dir2 dir1拷贝到dir2,拷贝目录时必须带-R选项

-R 递归复制指定源目录及其下面的子目录中的所有文件到指定的目标目录

1.5 ln 创建文件链接

ln s file filelink file文件创建符号链接filelink

-s建立符号链接,不带-s选项则创建硬链接

1.6 ls 显示目录内容

ls al /home 显示home目录的内容,不设路径时默认为当前目录

-a 列出所有文件,包括隐藏文件

-l 以长格式方式显示目录列表

1.7 find 在指定目录下查找文件并执行指定的操作

列出目录下所有的文件,并且只打印前20

find /opt -print | head -n 20

  

查找权限为644的文件

find ./ -type f -perm 644 -exec ls -l {} \;

 

查找包含Base的文件,并排序

find ./ type f -name *Base* | sort 

查找当前目录,但不在aaa目录中查找

find ./ -path "./aaa" -prune -o -print

 

 

查找文件属主为root的文件

find ./ -user root -exec ls -al {} \;

 

1.8 whereis  显示指令程序,源代码和man手册页(which类似,不仅返回命令,并且返回man手册和源代码的位置

whereis ls 

 

1.9 which 显示指令的绝对路径

which ls

 

1.10 mkdir 创建目录

mkdir p a/b/c/d  创建目录a/b/c/d

-p:为所给出的目录创建缺少的中间目录

 

1.11 mv 移动或重命名文件

mv file1 file2 file1重命名为file2

mv ./file1 /home/IBA/file1 file从当前目录中移动到/home/IBA/目录中

1.12 pwd 显示当前工作目录

 

1.13 rm 删除文件或目录

rm -rf ./file

 

-r: 递归删除目录下的所有内容

-f: 强制删除文件

1.14 rmdir 删除空目录

 

备份和压缩

2.1 tar 创建备份档案文件

test目录压缩为test.tar.gz

tar -czvf test.tar.gz

 

解压缩test.tar.gz文件

tar -zxvf test.tar.gz

 

-c 创建新的备份档案文件

-x 从档案文件中释放文件

-z gzip压缩/解压缩文件

-f 指定备份归档文件的文件名

-v处理过程中输出相关信息

文本处理

3.1 cat 接文件并显示到标准输出

打印/etc/vimrc的内容

cat -n /etc/vimrc

 

-n 显示行号

3.2 grep 显示文件中匹配的行

ls | grep rpm

 

3.3 sort 排序数据文件

 

3.4 tail 输出文件尾部部分内容

-f 持续的读取文件尾部数据,通常用于监控日志文件

3.5 wc 计算文件的字节数,单词数和行数

3.6 more分屏查看文本文件

 

shell指令

4.2 killall/kill 杀死进程或作业 

-l列出所有可用信号 默认发出SIGTERM信号 

9SIGKILL 强制杀死进程  kill -9 Process 或 kill SIGKILL Process 

kill通过进程号杀死进程,killall 通过程序名杀死所有进程

4.3 set 显示shell的运行特性变量信息 

4.4 ulimit 设置shell的资源限制 

-a 显示当前的ulimit设置 

修改最大文件打开数,当前有效,添加到/etc/rc.local中则设置为默认配置

ulimit SHn 65535 

4.5 source命令

source命令也称为点命令,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

4.6 ldconfig动态链接库管理命令

ldconfig 命令的用途,主要是在默认搜寻目录(/lib/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态 链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表. 

 

其他基础命令:

5.1 date 显示和设置系统日期时间 

5.2 halt 关闭计算机

5.3 reboot 重新启动计算机

5.4 man 显示联机帮助手册

5.5 who 显示当前已登录用户的信息 

5.6 tr 文本替换 

进程管理

6.1 nohup 以忽略挂起信号方式运行程序

当用户退出登录时被发送挂起信号而终止,nohup指令可以在用户退出时,使程序继续运行

nohup find ./ -print > ./nohup.out 

>./nohup.out表示指令的输出信息将保存到“nohup.out”文件中,可以在需要的时候查看该文件

6.2 ps显示系统当前的进程状态

获取终端上所有用户的有关进程信息 

示占用CPU最高的5个进程

ps -em comm,pcpu --sort -pcpu|head -n 5

-a:显示系统中所有进程的信息

-u:显示面向用户的格式(包括用户名,CPU及内存的使用情况等)

-x:显示所有非控制终端上的进程信息

 

VSZ:占用的虚拟内存,KB

RSS:占用的物理内存,KB

STAT:进程状态,Z僵尸进程,D不可中断的睡眠

6.3 pstree 以树形图显示进程的父子关系 

磁盘与文件系统管理

7.1 df  报告磁盘剩余空间情况

 

7.2 du 查看文件占用的磁盘空间

 

-a递归的输出指定目录的所有文件统计结果 

-h显示标准单位

-c统计 exclude统计时排除部分文件

7.3 fdisk  linux的分区工具

显示当前的硬盘分区表

 

7.4 mount 加载文件系统

mount /dev/sda1 /mnt/sad1 将磁盘/dev/sda1 挂载到/mnt/sad1

7.5 umount 卸载已经加载的文件系统

umount v /mnt/sad1

-v 执行时显示详细信息

内核与性能

8.1 free 显示内存使用情况 

 

total:内存总数

used:已经使用的内存

free:空闲的内存数

shared:多进程共享的内存总额

可用内存 = free + buffers +cached

8.2 iostat 报告CPU,I/O设备及分区状态

1秒的时间间隔,打印信息2

iostat -x 1 2 

-x显示详细的io设备统计信息

%util 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率

%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷

 

%idle 显示了在 CPU 空闲并且系统没有未完成的磁盘 I/O 请求时的时间百分比

如果idle小于70%I/O压力大,说明读取进程中有较多的wait

8.3 pgrep 查找当前运行的进程ID

 


8.4 top 显示和管理系统进程

 

常用命令(运行top后,在键盘输入)

P:根据CPU使用的多少进行排序

T:根据时间,累计时间排序

q:退出top命令

m:切换显示内存信息

t:切换显示进程和CPU状态信息

c:切换显示命令名称和完整命令行

M:根据使用内存的大小进行排序

8.5 uptime 显示系统运行时间和平均负载

 

load averager表示过去1分钟,5分钟和15分钟内进程队列中的平均进程数量

8.6 vmstat显示虚拟内存状态

 

r:等待运行的进程数

b:处于非中断睡眠状态的进程数

bi:发送到块设备的块数,单位为块

bo:从块设备接收到的块数,单位为块

如果r经常大于3或4,bi小于50,表示cpu负荷很重

bi,bo长期不等于0,表示内存不足

 

8.7 uname 显示系统信息

查看系统内核

uname -a

远程调用

9.1 scp 加密的远程复制工具

scp install.log root@10.10.61.140:/home 复制install.log到远程计算机的home目录

scp root@10.10.61.140:/home/install.log ./ 复制远程计算机的install.log文件到本地目录

9.2 ssh 加密的远程登录工具

ssh l root 10.10.61.140

-l 指定登录账户

10 编程相关指令

10.1 ldd 显示共享库依赖 

11 系统管理与维护指令

11.1 chkconfig 设置系统在不同运行等级下执行的服务

列出服务名称

chkconfig --list | head -n 10

 

演示打开防火墙服务,和关闭防火墙服务

chkconfig iptables off

chkconfig iptables on 

--list 列出服务名称在不同运行等级下得状态

--add 在当前运行级别下增加新的服务名称

--del  在当前运行级别下删除服务名称

11.2 rpm软件包管理器

RPM软件发布包的名称类似于foo-1.0-1.i386.rpm; 包括软件包名称(foo),版本(1.0),发行版本(1),硬件体系(i386)

rpm ivh sysstat-4.0.8.i386.rpm 安装rpm

-i 安装指定的软件包

-v 显示附加信息

-h 显示安装进度

 

rpm e sysstat 卸载时只需要指定软件包的名称

-e 删除指定的软件包

 

rpm ql sysstat 查询软件包是否安装,并显示文件列表

11.3 service linux服务管理和控制工具

--status-all 显示所有的系统服务

 

status 显示服务的当前状态

start 启动服务

stop 停止服务

restart 重新启动服务

reload 使服务重新读取配置文件

 

11.4 yum RPM软件包自动化管理工具

yum list | grep gcc 显示可用的gcc软件包 

yum list installed 显示已安装的软件包 

yum deplist zip 显示zip软件包所依赖的软件包

yum install zip 安装zip软件包

yum remove zip 移除zip软件包

12 网络配置

12.1 hostname显示或者设置网络主机名

仅对当前有效 

设置永久生效需要修改/etc/sysconfig/network文件

 

12.2 ifconfig 显示所有网络接口的详细情况

可以显示/设置IP地址,子网掩码等,仅是暂时生效 

ifconfig eth0 192.168.1.1 设置网卡eth0IP地址为192.168.1.1

12.3 route 显示和操纵本机的IP路由表 

UG表示默认网关

add 增加路由
del 删除路由
-net 设置到某个网段的路由
-host 设置到某台主机的路由
gw 出口网关 IP地址
dev 出口网关 物理设备名

注意:使用route add添加路由,必须保证这个路由能够与你互通

添加路由

route add net 192.168.0.0/24 gw 192.168.0.1

route add host 192.168.1.1 dev 192.168.0.1

添加默认路由

route add default gw 192.168.0.1

删除路由

route del net 192.168.0.0/24 gw 192.168.0.1

12.4 ping 测试到达目标主机的网络是否通畅

ping c 3 192.168.0.1 192.168.0.1发送3ICMP报文

-c 指定发包次数

12.5 telnet 远程登录工具

telnet 192.168.1.2 登录远程主机

12.6 netstat 显示网络状态 

a:显示所有套接字的状态

n:打印实际地址,而不是对地址的解释或显示主机

13 VI/VIM标准文本编辑器

13.1 插入模式

在光标钱的位置插入

esc 中止插入模式

dd 删除一行

num dd 删除num

x删除一个字符

u撤销命令

num x:删除num个字符

13.2 命令模式

:wq 或 :x保存退出

:wq!  强制保存退出

:q    退出

:q!   强制退出

:/字段 向前搜索字段,按下enter表示搜索结束:

:?字段 向后收缩字段,按下enter表示搜索结束:

:num 移动到指定的行编号num

:set nu 显示所有行的行号

:set fileformat(ff) dos 设置文件格式为dos

:set fileformat(ff) unix 设置文件格式为unix

:w filename 将另存为filename

永久显示行号:

/etc/vimrc中添加set number

13.3 控制指令

ctrl-g显示当前的行编号

gg 移动到文件的第一行

移动到文件的最后一行

14 常用工具

14.1 winshark 图形化抓包工具

Wireshark(前称Ethereal)是一个网络封包分析软件网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。

 

 

14.2 winscp

WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件。

 

 

14.3 SecureCRT

SecureCRT是一款支持SSH(SSH1SSH2)的终端仿真程序,简单的说是Windows下登录UNIXLinux服务器主机的软件。

 

14.4 Xmanager

Xmanager是一款小巧、便捷的浏览远端X窗口系统的工具。在工作中经常使用Xmanager来登录远端的linux系统,在X窗口系统上作图形化的操作

 

15 其他

15.1 后台启动程序

15.1.1 &命令

sh test.sh &

该命令将脚本放到后台执行,但是标准输出还是会显示到当前终端,影响用户操作,所以最好是将输出重定向到其他文件

sh test.sh &>/dev/null

/dev/null表示为空设备

如果需要查看输出结果,也可以定向到一个固定的文件中

15.1.2 nohup命令

当用户注销或者网络中断时,终端后收到SIGHUP信号,从而关闭其所有子进程,&方式会随着终端的关闭而退出,如果我们需要作业在后台执行并不受终端退出的影响,可以用下面方式

nohup sh test.sh &

nohup命令会忽略SIGHUP信号,从而终端退出时不会影响到后台作业

15.2 开机启动脚本

15.2.1 使用rc.local

/etc/rc.local; 这是一个最简单的方法,编辑“/etc/rc.local”,把启动程序的shell命令输入进去即可

15.2.2 注册成服务

可以看到“/etc/rc.d/init.d”下有很多的文件,每个文件都是可以看到内容的,其实都是一些shell脚本。
系统服务的启动就是通过“/etc/rc.d/init.d”中的脚本文件实现的。我们也可以写一个自己的脚本放在这里。
脚本文件的内容也很简单,类似于这个样子(例如起个名字叫做“hahad”):
. /etc/init.d/functions
start() {
        echo "Starting my process "
        cd /opt
        ./haha.sh
}
stop() {
         echo "Stoped"
}
写了脚本文件之后事情还没有完,继续完成以下几个步骤:
chmod +x hahad                    #增加执行权限
chkconfig --add hahad             #hahad添加到系统服务列表
chkconfig hahad on                 #设定hahad的开关(on/off
chkconfig --list hahad               #就可以看到已经注册了hahad的服务

 

运行级文件:
每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 代替运行级。第二行对服务进行描述,可以用跨行注释。
例如,functions包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.

 

15.3 查看CPU和内存信息

cat /proc/cpuinfo 打印CPU详细信息

cat /proc/cpuinfo | head n 5 打印CPU型号

 

 

cat /proc/meminfo | head 打印系统可用内存总量

 

 

cat /proc/cpuinfo | grep physical id | sort | uniq | wc l查看物理CPU个数

 

15.4 手动修改配置网卡文件

vi /etc/sysconfig/network-scripts/ifcfg-eth0

 

 

DEVICE:设定网卡的名称

ONBOOT: 开机启动网卡

修改后重启服务service network restart即可生效

 

修改机器的hostname

vi /etc/sysconfig/network

 

配置DNS域名解析服务器

vi /etc/resolv.conf

 

 

15.5 保存路由设置,使其在网络重启后任然有效 

方法1
/etc/sysconfig/network-script/目录下创建名为route- eth0的文件 
vi /etc/sysconfig/network-script/route-eth0 
在此文件添加如下格式的内容 
192.168.1.0/24 via 192.168.0.1 

方法2

将静态路由按指定格式存放到文件/etc/sysconfig/static-routes
如加入:
route add -net 11.1.1.0 netmask 255.255.255.0 gw 11.1.1.1

static-routes的格式为
any net 11.1.1.0 netmask 255.255.255.0 gw 11.1.1.1



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值