1. 文件/文件夹管理

ls 列出当前目录文件(不包括隐含文件)
ls -a 列出当前目录文件(包括隐含文件)
ls -l 列出当前目录下文件的详细信息
cd .. 回当前目录的上一级目录
cd - 回上一次所在的目录
cd ~ 或 cd 回当前用户的宿主目录
mkdir 目录名 创建一个目录
rmdir 空目录名 删除一个空目录
rm 文件名 文件名 删除一个文件或多个文件
rm -rf 非空目录名 删除一个非空目录下的一切
mv 路经/文件 /经/文件移动相对路经下的文件到绝对路经下
mv 文件名 新名称 在当前目录下改名
find 路经 -name “字符串” 查找路经所在范围内满足字符串匹配的文件和目录

2. 系统管理

fdisk fdisk -l 查看系统分区信息
fdisk fdisk /dev/sdb 为一块新的SCSI硬盘进行分区
chown chown root /home 把/home的属主改成root用户
chgrp chgrp root /home 把/home的属组改成root组

Useradd 创建一个新的用户
Groupadd 组名 创建一个新的组
Passwd 用户名 为用户创建密码
Passwd -d用户名 删除用户密码也能登陆
Passwd -S用户名 查询账号密码
Usermod -l 新用户名 老用户名 为用户改名
Userdel–r 用户名 删除用户一切

service [servicename] start/stop/restart 系统服务控制操作
/etc/init.d/[servicename] start/stop/restart 系统服务控制操作

uname -a 查看内核版本
cat /etc/issue 查看ubuntu版本
lsusb 查看usb设备
sudo ethtool eth0 查看网卡状态
cat /proc/cpuinfo 查看cpu信息
lshw 查看当前硬件信息
sudo fdisk -l 查看磁盘信息
df -h 查看硬盘剩余空间
free -m 查看当前的内存使用情况
ps -A 查看当前有哪些进程
kill 进程号(就是ps -A中的第一列的数字)或者 killall 进程名( 杀死一个进程)
kill -9 进程号 强制杀死一个进程

reboot Init 6 重启LINUX系统
Halt Init 0 Shutdown –h now 关闭LINUX系统

3. 打包/解压

tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包
tar –cvf benet.tar /home/benet 把/home/benet目录打包
tar –zcvf benet.tar.gz /mnt 把目录打包并压缩
tar –zxvf benet.tar.gz 压缩包的文件解压恢复
tar –jxvf benet.tar.bz2 解压缩

4. make编译

make 编译
make install 安装编译好的源码包

5. apt命令

$ apt-cache search PACKAGE-NAME      # 搜索包
$ apt-cache show PACKAGE-NAME        # 获取包的相关信息,如说明、大小、版本等
$ apt-get install package 安装包
$ apt-get install package - - reinstall 重新安装包
$ apt-get -f install 修复安装”-f = –fix-missing”
$ apt-get remove package 删除包
$ apt-get remove package - - purge 删除包,包括删除配置文件等
$ apt-get update 更新源
$ apt-get upgrade 更新已安装的包
$ apt-get dist-upgrade 升级系统
$ apt-get dselect-upgrade 使用 dselect 升级
$ apt-cache depends package 了解使用依赖
$ apt-cache rdepends package 是查看该包被哪些包依赖
$ apt-get build-dep package 安装相关的编译环境
$ apt-get source package 下载该包的源代码
$ apt-get clean && sudo apt-get autoclean 清理无用的包
$ apt-get check 检查是否有损坏的依赖
$ apt-get clean 清理所有软件缓存(即缓存在/var/cache/apt/archives目录里的deb包)

$ apt-cache madison gitlab-runner    // 查询 gitlab-runner 所有可用的版本
$ dpkg -l   // 查看已安装的包
$ dpkg -L vim   // 查看指定的包的文件
$ apt list --installed   // 查看已经安装的包
$ apt list -a vim  // 查看 vim 可安装的版本
$ apt install vim=8.0-537   // 安装指定的版本
#dpkg -S filename apt-file search filename

查询软件xxx依赖哪些包
#apt-cache depends xxx

查询软件xxx被哪些包依赖
#apt-cache rdepends xxx

增加一个光盘源
#sudo apt-cdrom add

清除所以删除包的残余配置文件
#dpkg -l |grep ^rc|awk ‘{print $2}’ |tr ["\n"] [" “]|sudo xargs dpkg -P -

编译时缺少h文件的自动处理
#sudo auto-apt run ./configure

查看安装软件时下载包的临时存放目录
#ls /var/cache/apt/archives

备份当前系统安装的所有包的列表
#dpkg –get-selections | grep -v deinstall > ~/somefile

从上面备份的安装包的列表文件恢复所有包
#dpkg –set-selections < ~/somefile sudo dselect

清理旧版本的软件缓存
#sudo apt-get autoclean

清理所有软件缓存
#sudo apt-get clean

删除系统不再使用的孤立软件
#sudo apt-get autoremove

查看包在服务器上面的地址 
#apt-get -qq –print-uris install ssh | cut -d\’ -f2

系统
查看内核

#uname -a

查看Ubuntu版本

#cat /etc/issue

查看内核加载的模块

#lsmod

查看PCI设备

#lspci

查看USB设备

#lsusb

查看网卡状态

#sudo ethtool eth0

查看CPU信息

#cat /proc/cpuinfo

显示当前硬件信息

#lshw

硬盘
查看硬盘的分区

#sudo fdisk -l

查看IDE硬盘信息

#sudo hdparm -i /dev/hda

查看STAT硬盘信息

#sudo hdparm -I /dev/sda

#sudo apt-get install blktool

#sudo blktool /dev/sda id

查看硬盘剩余空间

#df -h

#df -H

查看目录占用空间

#du -hs 目录名

优盘没法卸载

#sync fuser -km /media/usbdisk

内存
查看当前的内存使用情况

#free -m

进程
查看当前有哪些进程

#ps -A
中止一个进程

#kill 进程号(就是ps -A中的第一列的数字) 或者 killall 进程名

强制中止一个进程(在上面进程中止不成功的时候使用)

#kill -9 进程号 或者 killall -9 进程名

图形方式中止一个程序

#xkill 出现骷髅标志的鼠标,点击需要中止的程序即可

查看当前进程的实时状况

#top

查看进程打开的文件

#lsof -p

ADSL 配置 ADSL

#sudo pppoeconf

ADSL手工拨号

#sudo pon dsl-provider

激活 ADSL

#sudo /etc/ppp/pppoe_on_boot

断开 ADSL

#sudo poff

查看拨号日志

#sudo plog

网络
根据IP查网卡地址

#arping IP地址

查看当前IP地址

#ifconfig eth0 |awk ‘/inet/ {split($2,x,”:”);print x[2]}’

查看当前监听80端口的程序

#lsof -i :80

查看当前网卡的物理地址

#arp -a | awk ‘{print $4}’ ifconfig eth0 | head -1 | awk ‘{print $5}’

立即让网络支持nat

#sudo echo 1 > /proc/sys/net/ipv4/ip_forward

#sudo iptables -t nat -I POSTROUTING -j MASQUERADE

查看路由信息

#netstat -rn sudo route -n

手工增加删除一条路由

#sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

#sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

修改网卡MAC地址的方法

#sudo ifconfig eth0 down 关闭网卡

#sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE 然后改地址

#sudo ifconfig eth0 up 然后启动网卡

统计当前IP连接的个数

#netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -r -n

#netstat -na|grep SYN|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -r -n

统计当前20000个IP包中大于100个IP包的IP地址

#tcpdump -tnn -c 20000 -i eth0 | awk -F “.” ‘{print $1″.”$2″.”$3″.”$4}’ | sort | uniq -c | sort -nr | awk ‘ $1 > 100 ‘

屏蔽IPV6

#echo “blacklist ipv6″ | sudo tee /etc/modprobe.d/blacklist-ipv6

服务
添加一个服务

#sudo update-rc.d 服务名 defaults 99

删除一个服务

#sudo update-rc.d 服务名 remove

临时重启一个服务

#/etc/init.d/服务名 restart

临时关闭一个服务

#/etc/init.d/服务名 stop

临时启动一个服务

#/etc/init.d/服务名 start

设置
配置默认Java使用哪个

#sudo update-alternatives –config java

修改用户资料

#sudo chfn userid

给apt设置代理

#export http_proxy=http://xx.xx.xx.xx:xxx

修改系统登录信息

#sudo vim /etc/motd

中文
转换文件名由GBK为UTF8

#sudo apt-get install convmv convmv -r -f cp936 -t utf8 –notest –nosmart *

批量转换src目录下的所有文件内容由GBK到UTF8

#find src -type d -exec mkdir -p utf8/{} ; find src -type f -exec iconv -f GBK -t UTF-8 {} -o utf8/{} ; mv utf8/* src rm -fr utf8

转换文件内容由GBK到UTF8

#iconv -f gbk -t utf8 $i > newfile

转换 mp3 标签编码

#sudo apt-get install python-mutagen find . -iname “*.mp3” -execdir mid3iconv -e GBK {} ;

控制台下显示中文

#sudo apt-get install zhcon 使用时,输入zhcon即可

文件
快速查找某个文件

#whereis filename

#find 目录 -name 文件名

查看文件类型

#file filename

显示xxx文件倒数6行的内容

#tail -n 6 xxx

让tail不停地读地最新的内容

#tail -n 10 -f /var/log/apache2/access.log

查看文件中间的第五行(含)到第10行(含)的内容

#sed -n ‘5,10p’ /var/log/apache2/access.log

查找包含xxx字符串的文件

#grep -l -r xxx .

全盘搜索文件(桌面可视化)
gnome-search-tool

查找关于xxx的命令

#apropos xxx man -k xxx

通过ssh传输文件

#scp -rp /path/filenameusername@remoteIP:/path

#将本地文件拷贝到服务器上

#scp -rpusername@remoteIP:/path/filename/path

#将远程文件从服务器下载到本地

查看某个文件被哪些应用程序读写

#lsof 文件名

把所有文件的后辍由rm改为rmvb

#rename ’s/.rm$/.rmvb/’ *

把所有文件名中的大写改为小写

#rename ‘tr/A-Z/a-z/’ *

删除特殊文件名的文件,如文件名:–help.txt

#rm — –help.txt 或者 rm ./–help.txt

查看当前目录的子目录

#ls -d */. 或 echo */.

将当前目录下最近30天访问过的文件移动到上级back目录

#find . -type f -atime -30 -exec mv {} ../back ;

将当前目录下最近2小时到8小时之内的文件显示出来

#find . -mmin +120 -mmin -480 -exec more {} ;

删除修改时间在30天之前的所有文件

#find . -type f -mtime +30 -mtime -3600 -exec rm {} ;

查找guest用户的以avi或者rm结尾的文件并删除掉

#find . -name ‘.avi’ -o -name ‘.rm’ -user ‘guest’ -exec rm {} ;

查找的不以java和xml结尾,并7天没有使用的文件删除掉

#find . ! -name .java ! -name ‘.xml’ -atime +7 -exec rm {} ;

统计当前文件个数

#ls /usr/bin|wc -w

统计当前目录个数

#ls -l /usr/bin|grep ^d|wc -l

显示当前目录下2006-01-01的文件名

#ls -l |grep 2006-01-01 |awk ‘{print $8}’

程序
详细显示程序的运行信息

#strace -f -F -o outfile

日期和时间

设置日期

#date -s mm/dd/yy

设置时间

#date -s HH:MM

将时间写入CMOS

#hwclock –systohc

读取CMOS时间

#hwclock –hctosys

从服务器上同步时间

#sudo ntpdate time.nist.gov

#sudo ntpdate time.windows.com

作者:jackzang  创建时间:2024-05-09 21:59
最后编辑:jackzang  更新时间:2024-10-30 16:25