Ubuntu Linux系统操作命令大全
一、文件/文件夹管理
- ls 列出当前目录文件(不包括隐含文件)
- [color=var(--weui-LINK)]ls -a 列出当前目录文件(包括隐含文件)
- ls -l 列出当前目录下文件的详细信息
- cd .. 回当前目录的上一级目录
- cd - 回上一次所在的目录
- cd ~ 或 cd 回当前用户的宿主目录
- mkdir 目录名 创建一个目录
- [color=var(--weui-LINK)]rmdir 空目录名删除一个空目录
- rm 文件名删除一个文件或多个文件
- rm -rf 非空目录名 删除一个非空目录下的一切
- mv 路经/文件 移动相对路经下的文件到绝对路经下
- mv 文件名 新名称在当前目录下改名
- find 路经-name “字符串”查找路经所在范围内满足字符串匹配的文件和目录
二、系统管理
- 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 用户名 查询账号密码
- [color=var(--weui-LINK)]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 进程名( 杀死一个进程)
- [color=var(--weui-LINK)]kill -9 进程号 强制杀死一个进程
- reboot Init 6 重启LINUX系统
- Halt Init 0 Shutdown –h now 关闭LINUX系统
三、打包/解压
- 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 解压缩
四、make 编译
-make 编译 make install 安装编译好的源码包
五、apt命令
- apt-cache search package 搜索包
- apt-cache show package 获取包的相关信息,如说明、大小、版本等
- [color=var(--weui-LINK)]sudo apt-get install package 安装包
- sudo apt-get install package - - reinstall 重新安装包
- sudo apt-get -f install 修复安装”-f = –fix-missing ”
- sudo apt-get remove package 删除包
- sudo apt-get remove package - - purge 删除包,包括删除配置文件等
- sudo apt-get update 更新源
- sudo apt-get upgrade 更新已安装的包
- sudo apt-get dist-upgrade 升级系统
- sudo apt-get dselect-upgrade 使用dselect 升级
- apt-cache depends package 了解使用依赖
- apt-cache rdepends package 是查看该包被哪些包依赖
- sudo apt-get build-dep package 安装相关的编译环境
- apt-get source package 下载该包的源代码
- [color=var(--weui-LINK)]sudo apt-get clean && sudo apt-get autoclean 清理无用的包
- sudo apt-get check 检查是否有损坏的依赖
- sudo apt-get clean 清理所有软件缓存(即缓存在 /var/cache/apt/archives 目录里的deb包)
查看软件xxx安装内容 #dpkg -L xxx
查找软件 #apt-cache search 正则表达式
查找文件属于哪个包 #dpkg -S filename apt-file search filename
查询软件xxx依赖哪些包 #apt-cache depends xxx
查询软件xxx被哪些包依赖 #apt-cache rdepends xxx
增加一个光盘源 #sudo apt-cdrom add
系统升级 #sudo apt-get update
#sudo apt-get upgrade
#sudo apt-get dist-upgrade
清除所以删除包的残余配置文件 #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 ’ -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]} ’
查看当前外网的 IP地址 #w3m -no-cookie -dumpwww.edu.cn|grep- o‘[0 }’
#w3m -no-cookie -dumpwww.xju.edu.cn|grep- o’[0 }’
#w3m -no-cookie -dump ip.loveroot.com|grep -o’[0 }’
查看当前监听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:CCD: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/’ *
删除特殊文件名的文件,如文件名:–wljslmz.txt #rm —–wljslmz.txt 或者rm ./–wljslmz.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
显示当前目录下 2021-01-01的文件名 #ls -l |grep 2021-01-01 |awk ‘{print $8}’
十四、FTP
上传下载文件工具-filezilla #sudo apt-get install filezilla
filezilla无法列出中文目录? 站点->字符集->自定义->输入:GBK 本地中文界面 1)下载filezilla中文包到本地目录,如~/ 2)#unrar x Filezilla3_zhCN.rar - 如果你没有unrar的话,请先安装 rar和unrar
#sudo apt-get install rar unrar
#sudo ln -f /usr/bin/rar /usr/bin/unrar
4)先备份原来的语言包,再安装;实际就是拷贝一个语言包。 #sudo cp /usr/share/locale/zh_CN/filezilla.mo /usr/share/locale/zh_CN/filezilla.mo.bak
#sudo cp ~/locale/zh_CN/filezilla.mo /usr/share/locale/zh_CN/filezilla.mo
5)重启filezilla,即可!
十五、解压缩
解压缩wljslmz.tar.gz #tar -zxvf wljslmz.tar.gz
解压缩xxx.tar.bz2 #tar -jxvf wljslmz.tar.bz2
压缩aaa bbb目录为wljslmz.tar.gz #tar -zcvf wljslmz.tar.gz aaa bbb
压缩aaa bbb目录为wljslmz.tar.bz2 #tar -jcvf wljslmz.tar.bz2 aaa bbb
解压缩 RAR 文件 #sudo apt-get install rar unrar
#sudo ln -f /usr/bin/rar /usr/bin/unrar
#unrar x aaaa.rar
十六、程序
详细显示程序的运行信息 #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
十八、控制台
不同控制台间切换 Ctrl + ALT + ←Ctrl + ALT + →
指定控制台切换 Ctrl + ALT + Fn(n:1~7)
控制台下滚屏 SHIFT + pageUp/pageDown
控制台抓图 #setterm -dump n(n:1~7)
十九、数据库
mysql的数据库存放在地方 #/var/lib/mysql
从mysql中导出和导入数据 #mysqldump 数据库名> 文件名 #导出数据库
#mysqladmin create 数据库名 #建立数据库
#mysql 数据库名< 文件名#导入数据库
忘了mysql的root口令怎么办 #sudo /etc/init.d/mysql stop
#sudo mysqld_safe –skip-grant-tables
#sudo mysqladmin -u user password ‘newpassword"
#sudo mysqladmin flush-privileges
修改mysql的root口令 #sudo mysqladmin -uroot -p password ‘你的新密码’
二十、其它下载网站文档
#wget -r -p -np -k https://.www.wljslmz.com
- [color=var(--weui-LINK)]r:在本机建立服务器端目录结构;
- -p: 下载显示HTML文件的所有图片;
- -np:只下载目标站点指定目录及其子目录的内容;
- -k: 转换非相对链接为相对链接。
如何删除Totem电影播放机的播放历史记录 #rm ~/.recently-used
如何更换gnome程序的快捷键 点击菜单,鼠标停留在某条菜单上,键盘输入任意你所需要的键,可以是组合键,会立即生效;如果要清除该快捷键,请使用backspace vim 如何显示彩色字符 #sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc
如何在命令行删除在会话设置的启动程序 #cd ~/.config/autostart rm 需要删除启动程序
如何提高wine的反应速度 #sudo sed -ie ‘/GBK/,/^}/d ’ /usr/share/X11/locale/zh_CN.UTF -8/XLC_LOCALE
chgrp[语法]: chgrp [-R] 文件组文件⋯ 说明:文件的GID表示文件的文件组,文件组可用数字表示, 也可用一个有效的组名表示,此命令改变一个文件的GID,可参看chown。 -R 递归地改变所有子目录下所有文件的存取模式 [例子]: #chgrp group file 将文件file 的文件组改为 group
chmod[语法]: chmod [-R] 模式文件⋯ 或chmod [ugoa]+-|=[rwxst] 文件⋯ #chmod nnnn file
n为0-7的数字,意义如下: - 4000** 运行时可改变UID
- 2000** 运行时可改变GID
- 1000** 置粘着位
- 0400** 文件主可读
- 0200** 文件主可写
- 0100** 文件主可执行
- 0040** 同组用户可读
- 0020** 同组用户可写
- 0010** 同组用户可执行
- 0004** 其他用户可读
- 0002** 其他用户可写
- 0001** 其他用户可执行
nnnn 就是上列数字相加得到的,例如 chmod 0777 file 是指将文件 file 存取权限置为所有用户可读可写可执行。 -R 递归地改变所有子目录下所有文件的存取模式 - [color=var(--weui-LINK)]u 文件主
- g 同组用户
- o 其他用户
- a 所有用户
- + 增加后列权限
- - 取消后列权限
- [color=var(--weui-LINK)]= 置成后列权限
- r 可读
- w 可写
- x 可执行
- s 运行时可置UID
- [color=var(--weui-LINK)]t 运行时可置GID
[例子]: #chmod 0666 file1 file2 将文件 file1 及file2 置为所有用户可读可写
#chmod u+x file 对文件file 增加文件主可执行权限
#chmod o-rwx 对文件file 取消其他用户的所有权限
chown[语法]: chown [-R] 文件主文件⋯ 说明: 文件的UID表示文件的文件主,文件主可用数字表示, 也可用一个有效的用户名表示,此命令改变一个文件的UID,仅当此文件的文件主或超级用户可使用。 -R 递归地改变所有子目录下所有文件的存取模式 [例子]: #chown mary file 将文件file 的文件主改为 mary
#chown 150 file 将文件file 的UID改为150
Ubuntu命令行下修改网络配置以eth0为例 1. 以DHCP方式配置网卡编辑文件/etc/network/interfaces: #sudo vi /etc/network/interfaces
并用下面的行来替换有关 eth0的行: # The primary network interface - use DHCP to find our address
auto eth0
iface eth0 inet dhcp
用下面的命令使网络设置生效 : #sudo /etc/init.d/networking restart
当然,也可以在命令行下直接输入下面的命令来获取地址 #sudo dhclient eth0
2. 为网卡配置静态 IP地址编辑文件/etc/network/interfaces: #sudo vi /etc/network/interfaces
并用下面的行来替换有关 eth0的行: # The primary network interface
auto eth0
iface eth0 inet static
address 192.168.3.90
gateway 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
将上面的ip地址等信息换成你自己就可以了 . 用下面的命令使网络设置生效 : #sudo /etc/init.d/networking restart
3. 设定第二个IP地址(虚拟IP地址)编辑文件/etc/network/interfaces: #sudo vi /etc/network/interfaces
在该文件中添加如下的行 : auto eth0:1
iface eth0:1 inet static
address 192.168.1.60
netmask 255.255.255.0
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x
根据你的情况填上所有诸如 address,netmask,network,broadcast 和gateways等信息. 用下面的命令使网络设置生效 : #sudo /etc/init.d/networking restart
4. 设置主机名称(hostname)使用下面的命令来查看当前主机的主机名称 : #sudo /bin/hostname
使用下面的命令来设置当前主机的主机名称 : #sudo /bin/hostname wljslmz
系统启动时,它会从/etc/hostname 来读取主机的名称. 5. 配置DNS首先,你可以在/etc/hosts中加入一些主机名称和这些主机名称对应的 IP地址,这是简单使用本机的静态查询 . 要访问DNS 服务器来进行查询,需要设置/etc/resolv.conf 文件. 假设DNS服务器的IP地址是192.168.3.2, 那么/etc/resolv.conf 文件的内容应为: search test.com
nameserver 192.168.3.2
安装AMP服务如果采用Ubuntu Server CD开始安装时,可以选择安装,这系统会自动装上 apache2,php5和mysql5。下面主要说明一下如果不是安装的 Ubuntu server时的安装方法。 用命令在Ubuntu下架设Lamp其实很简单,用一条命令就完成。在终端输入以下命令: #sudo apt-get install apache2 mysql-server php5 php5-mysql php5-gd #phpmyadmin
装好后,mysql管理员是root,无密码,通过 http://localhost/phpmyadmin 就可以访问mysql了 修改 MySql 密码 终端下输入: #mysql -u root
#mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY “123456″;
’123456‘ 是root的密码,可以自由设置,但最好是设个安全点的。 #mysql> quit;
退出mysql apache2的操作命令- 启动:#sudo /etc/init.d/apache2 start
- 重启:#sudo /etc/init.d/apache2 restart
- 关闭:#sudo /etc/init.d/apache2 stop
apache2的默认主目录:/var/www/
|