UbuntuShell常用命令

本文发布时间: 2019-Mar-22
这段时间用到了Liunx的东西,学习了一写应用,刚开始不熟悉Liunx就从页面开始使用,后期开始使用shell命令来操作了。先记录一下用到的命令行:一、文件/文件夹管理ls 列出当前目录文件(不包括隐含文件)ls -a 列出当前目录文件(包括隐含文件)ls -l 列出当前目录下文件的详细信息cd .. 回当前目录的上一级目录cd - 回上一次所在的目录cd ~ 或 cd 回当前用户的宿主目录mkdir 目录名 创建一个目录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用户名 查询账号密码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系统三、打包/解压 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 获取包的相关信息,如说明、大小、版本等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 下载该包的源代码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 [" "] [" “]|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 -pADSL 配置 ADSL#sudo pppoeconfADSL手工拨号#sudo pon dsl-provider激活 ADSL#sudo /etc/ppp/pppoe_on_boot断开 ADSL#sudo poff查看拨号日志#sudo plog如何设置动态域名#首先去申请一个动态域名#然后修改 /etc/ppp/ip-up 增加拨号时更新域名指令 sudo vim /etc/ppp/ip-up#在最后增加如下行 w3m -no-cookie -dump网络根据IP查网卡地址#arping IP地址查看当前IP地址#ifconfig eth0 |awk ‘/inet/ {split($2,x,":");print x[2]}’查看当前外网的IP地址#w3m -no-cookie |grep-o‘[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’#w3m -no-cookie |grep-o’[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’#w3m -no-cookie -dump |grep -o’[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’查看当前监听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修改系统登录信息#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}’FTP上传下载文件工具-filezilla#sudo apt-get install filezillafilezilla无法列出中文目录?站点->字符集->自定义->输入:GBK本地中文界面1)下载filezilla中文包到本地目录,如~/2)#unrar x Filezilla3_zhCN.rar3) 如果你没有unrar的话,请先安装rar和unrar#sudo apt-get install rar unrar#sudo ln -f /usr/bin/rar /usr/bin/unrar4)先备份原来的语言包,再安装;实际就是拷贝一个语言包。#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.mo5)重启filezilla,即可!解压缩解压缩 xxx.tar.gz#tar -zxvf xxx.tar.gz解压缩 xxx.tar.bz2#tar -jxvf xxx.tar.bz2压缩aaa bbb目录为xxx.tar.gz#tar -zcvf xxx.tar.gz aaa bbb压缩aaa bbb目录为xxx.tar.bz2#tar -jcvf xxx.tar.bz2 aaa bbb解压缩 RAR 文件1) 先安装#sudo apt-get install rar unrar#sudo ln -f /usr/bin/rar /usr/bin/unrar2) 解压#unrar x aaaa.rarNautilus显示隐藏文件Ctrl+h显示地址栏Ctrl+l特殊 URI 地址* computer:/// - 全部挂载的设备和网络* network:/// - 浏览可用的网络* burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录* smb:/// - 可用的 windows/samba 网络资源* x-nautilus-desktop:/// - 桌面项目和图标*file:///- 本地文件* trash:/// - 本地回收站目录* ftp:// - FTP 文件夹* ssh:// - SSH 文件夹* fonts:/// - 字体文件夹,可将字体文件拖到此处以完成安装* themes:/// - 系统主题文件夹查看已安装字体在nautilus的地址栏里输入"fonts:///“,就可以查看本机所有的fonts程序详细显示程序的运行信息#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控制台不同控制台间切换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· r:在本机建立服务器端目录结构;· -p: 下载显示HTML文件的所有图片;· -np:只下载目标站点指定目录及其子目录的内容;· -k: 转换非相对链接为相对链接。如何删除Totem电影播放机的播放历史记录#rm ~/.recently-used如何更换gnome程序的快捷键点击菜单,鼠标停留在某条菜单上,键盘输入任意你所需要的键,可以是组合键,会立即生效; 如果要清除该快捷键,请使用backspacevim 如何显示彩色字符#sudo cp /usr/share/vim/vimcurrent/vimrc_example.vim /usr/share/vim/vimrc如何在命令行删除在会话设置的启动程序#cd ~nfig/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 运行时可改变UID2000 运行时可改变GID1000 置粘着位0400 文件主可读0200 文件主可写0100 文件主可执行0040 同组用户可读0020 同组用户可写0010 同组用户可执行0004 其他用户可读0002 其他用户可写0001 其他用户可执行nnnn 就是上列数字相加得到的,例如 chmod 0777 file 是指将文件 file 存取权限置为所有用户可读可写可执行。-R 递归地改变所有子目录下所有文件的存取模式u 文件主g 同组用户o 其他用户a 所有用户+ 增加后列权限- 取消后列权限= 置成后列权限r 可读w 可写x 可执行s 运行时可置UIDt 运行时可置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改为150Ubuntu命令行下修改网络配置以eth0为例1. 以DHCP方式配置网卡编辑文件/etc/network/interfaces:#sudo vi /etc/network/interfaces并用下面的行来替换有关eth0的行:# The primary network interface - use DHCP to find our addressauto eth0iface eth0 inet dhcp用下面的命令使网络设置生效:#sudo /etc/init.d/networking restart当然,也可以在命令行下直接输入下面的命令来获取地址#sudo dhclient eth02. 为网卡配置静态IP地址编辑文件/etc/network/interfaces:#sudo vi /etc/network/interfaces并用下面的行来替换有关eth0的行:# The primary network interfaceauto eth0iface eth0 inet staticaddress 192.168.3.90gateway 192.168.3.1netmask 255.255.255.0network 192.168.3.0broadcast 192.168.3.255将上面的ip地址等信息换成你自己就可以了.用下面的命令使网络设置生效:#sudo /etc/init.d/networking restart3. 设定第二个IP地址(虚拟IP地址)编辑文件/etc/network/interfaces:#sudo vi /etc/network/interfaces在该文件中添加如下的行:auto eth0:1iface eth0:1 inet staticaddress 192.168.1.60netmask 255.255.255.0network x.x.x.xbroadcast x.x.x.xgateway x.x.x.x根据你的情况填上所有诸如address,netmask,network,broadcast和gateways等信息.用下面的命令使网络设置生效:#sudo /etc/init.d/networking restart4. 设置主机名称(hostname)使用下面的命令来查看当前主机的主机名称:#sudo /bin/hostname使用下面的命令来设置当前主机的主机名称:#sudo /bin/hostname newname系统启动时,它会从/etc/hostname来读取主机的名称.5. 配置DNS首先,你可以在/etc/hosts中加入一些主机名称和这些主机名称对应的IP地址,这是简单使用本机的静态查询.要访问DNS 服务器来进行查询,需要设置/etc/nf文件.假设DNS服务器的IP地址是192.168.3.2, 那么/etc/nf文件的内容应为:searchnameserver 192.168.3.2


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2020-Jul-13 01:12am
栏目列表