命令学习 of Ubuntu
来源:互联网 发布:选择财物软件方案 编辑:程序博客网 时间:2024/05/16 12:57
- 写在前面
- 文件管理
- rm删除文件或目录
- ls列出目录内容
- cp复制文件或目录
- mkdir建立目录
- touch改变文件或目录时间
- cat将文件显示到基本输出
- ln链接文件或目录
- grep 查找文件里符合条件的字符串
- find查找文件或目录
- locate查找文件
- which查找环境变量中的文件
- rename批量重命名
- unzip解压zip文件
- tar备份还原文件
- cmp比较两个文件是否有差异
- comm比较两个已排过序的文件
- file辨识文件类型
- echo显示字符串到标准输出
- 系统管理
- su变更用户身份
- sudo以其他身份来执行指令
- passwd设置密码
- chmod变更文件或目录权限
- chown变更文件或目录拥有者或所属群
- shutdown系统关机命令
- export设置或显示环境变量
- free显示内存状态
- kill删除执行中的进程
- pkill直接杀死运行中的程序
- xkill杀死图形程序
- pgrep查找进程id
- ps报告程序状况
- pstree以树状图显示程序
- screen多重视窗管理程序
- alias设置指令的别名
- 设备管理
- mount挂载命令
- df显示磁盘相关信息
- lspci查看pci设备信息
- blkid查看块设备包括交换分区的信息
- lsusb查看usb设备
- 软件管理
- aptitude
- apt-get
- apt-cache
- dpkg
- 程序相关
- pkg-config用于提供库等路径
- 终端快捷键
写在前面
- 查看命令帮助:man (manual),如 man rm
- 有相同命令时,可以先用man -f 查询,然后用man + 数字 + 命令名查询。
- 比较通用的命令参数:
- [–help]
- [–version]
- 命令参数前一横:一般为字符形式,如 -d
- 命令参数前两横:一般为单词形式,如 –directory
(这里说的是一般情况,具体见:http://blog.csdn.net/songjinshi/article/details/6816776)
文件管理
rm:删除文件或目录
rm [-dfirv][--help][--version][file_dir]rm file //移除文件rm -d dirrm --directory dir // 移除空目录rm -r folder/dirrm -R folder/dirrm -recursive folder/dir // 移除非空目录dir, -r 递归处理,将dir目录及目录下文件和子目录一并处理-f -force : 强制删除-v -verbose : 显示执行过程--help : 帮助--version : 版本信息
ls:列出目录内容
ls -a // 显示所有文件和目录,包括隐藏的ls -l // 显示详细信息ls -lh // 用G M K等大单位来显示文件大小ls -l --block-size=MB // 用M作为单位显示大小ls -ld /etc/r*.dls -ld /etc/init.d // 详细显示r*.d(*是通配符,init.d是一个目录)目录信息,而不显示目录包含的文件信息
cp:复制文件或目录
cp [-abdfilpPrRsuvx][-S][-V][源文件目录][目录文件目录]cp file dir/ff // 将file文件复制到dir目录下,并重命名为ffcp -r floder/dir /temp/ // 将目录dir及目录下的文件和子目录复制到temp下,即有temp/dir
mkdir:建立目录
mkdir [-p][-m<目录属性>][目录名称]
touch:改变文件或目录时间
touch [-acfm][-d<日期时间>][-r<参考文件或目录>][-t<日期时间>][文件或目录]touch file // 建立空文件file
cat:将文件显示到基本输出
cat [-AbeEnstTuv] filenamecat file // 显示file的内容,基本输出即指屏幕-n 或 --number:输出行号
ln:链接文件或目录
ln -s file_src file_des // 建立符号连接,打开file_des时,即打开file_src,相当于快捷方式
grep: 查找文件里符合条件的字符串
grep[-abcEFGhHilLnqrsvVwxy][-A][-B][-C][-d][-e][-f]grep str file // 在file中查找str字符串-n或--line-number:显示行列-i或--ignore-case:忽略字符大小写
find:查找文件或目录
find ~/ -name filename // 在 ~/ 查找filename的文件或目录find ~/ -iname '*file' // 忽略大小写,查找符合 *file 形式的文件或目录find ~/ -name '[aA][bB]d' // 查找 abd或Abd或aBd或ABdfind -name 'src*' // 在当前目录查找以src开头的文件或目录find -name '*src*' // 查打包含src的文件或目录find -size 30M // 查找等于30M的文件find -size +10M -size -30M // 查找小于30M但大于10M的文件
locate:查找文件
locate [-d<数据库文件>][--help][--version][范本样式...]locate /etc/sh // 搜索etc目录下所有以sh开头的文件updatedb //手动更新数据库/var/lib/locatedb
which:查找环境变量中的文件
which [-n<文件名长度>][-p<文件名长度>][-w]which ls //查看命令ls的位置
rename:批量重命名
rename perlexpr file //file:要处理的文件 //perlexpr:perl正则表达式(ub16.04的rename是用perl实现的,所以没有 rename from to file形式)rename s/file/list/ file* // 将所有file开头的文件变成list开头。 // "s/<str>/<rep>/":替换,str替换成reprename tr/A-Z/a-z/ file* // 将所有file开头的文件,变成小写 // "tr/<par>/<rep>/":转化,par转成rep
unzip:解压zip文件
unzip [-cflptuvz][-agCjLMnoqsVX][-P<密码>][-d][-x]unzip file.zip -d ~/dir // 解压file文件,放~/dir目录中
tar:备份还原文件
-c 建立新的归档文件-r 向归档文件末尾追加文件-x 从归档文件中解出文件-t 查看归档包中的文件-u 更新原压缩包中的文件 // 这五个是独立的命令,压缩解压只会用到其中一个-v 处理过程中输出相关信息-C 解压到指定文件夹,大写的C-f 对普通文件操作(似乎一直都要用f)-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的tar -cf tmp.tar file.c // 创建归档文件tmp.tartar -xf tmp.tar // 解压归档文件tmp.tar
cmp:比较两个文件是否有差异
cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]cmp file1.txt file2.txt // 比较两个文件,相同则不输出任何消息cmp - file.txtcmp file.txt - // 将file.txt与标准输入(即从终端输入)比较。输入命令回车后,需要从终端输入要比较的内容,回车然后ctrl+d输入结束,开始比较
comm:比较两个已排过序的文件
comm [-123][--help][--version][第1个文件][第2个文件] -1 不显示只在第1个文件里出现过的列。 -2 不显示只在第2个文件里出现过的列。 -3 不显示只在第1和第2个文件里出现过的列。comm file1 file2 // 比较两个文件 //结果: 仅file1出现的行; 仅file2出现的行; 两个文件均出现的行
file:辨识文件类型
file [-beLvz][-f < 名称文件 >][-m < 魔法数字文件 >...][ 文件或目录 ...]file text.txt // 查看文件类型file -z tempfile // 尝试解文件
echo:显示字符串到标准输出
echo [-ne][字符串]echo -e 'hello world\n' // 对\n等字符转义,同c语言中的转义echo $PATH // 显示变量名PATHecho ' // 从标准输入后再输出,输入单引号’后结束输入,开始输入(两个单引号‘’算一个命令)
系统管理
su:变更用户身份
su [-flmp][--help][--version][-][-c<指令>][-s<shell>][用户帐号]su rootsu // 切换root用户,不带用户时,预设为root // root的"~/"是"/root",不是"/home/username"
sudo:以其他身份来执行指令
sudo [-bhHpV][-s<shell>][-u<用户>][指令]sudo [-klv]sudo passwd // 初次设置root密码,不然不能用root
passwd:设置密码
passwd [-dklS][-u<-f>][用户名称]passwd // 修改当前用户密码passwd newuser // 更改用户newuser的密码
chmod:变更文件或目录权限
chmod [-cfRv][--help][--version][mode][文件或目录] -R 表示对当前目录下的所有文件和子目录进行相同的权限更改 mode 权限设置字串,格式为[ugoa] [+-=] [rwx] u user,表示文件的拥有者 g group,表示与此文件拥有者属于一个组群的人 o other,表示其他用户,拥有者和组群之外的人 a all,表示包含以上三者即文件拥有者(u)、群组(g)、其他(o) + 表示增加权限 - 表示取消权限 = 表示唯一设置权限 r 表示有读取的权限 w 表示有写入的权限 x 表示有执行的权限 mode = 数字abc,chmod可以用数字来表示权限 a,b,c各为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1 (即二进制权值) 若要rwx属性则4+2+1=7 若要rw-属性则4+2=6 若要r-x属性则4+1=5chmod u+w file # u增加写入权限chmod u=w file # u设置为只有定入权限chmod 777 file # 所有用户拥用rwx权限
chown:变更文件或目录拥有者或所属群
chown [-cfhRv][--dereference][--help][--version][拥有者<所属群>][文件或目录]chown me file # file所有者改为mechown -R hello:staff /folder # folder目录及目录下所有目录和文件的所有者改为hello,群组为staff # -R 递归操作当前目录下的所有目录和文件
shutdown:系统关机命令
shutdown [-efFhknr][-t秒数][时间][警告信息]shutdown -h #关闭系统,即关机shutdown -r # 重启reboot # 重启
export:设置或显示环境变量
export [-fnp][变量名称]=[变量设置值]export PATH="$PATH:$HOME/dir" # 添加路径$HOME/dir到PATH中,只是临时添加,不是更改配置文件
free:显示内存状态
free -b(k)(m)(g) # 以byte(kb)(mb)(gb)显示内存状态free -s 5 -c 10 # 每隔5秒显示一次,共显示10次
kill:删除执行中的进程
kill [-s <信息名称或编号>][程序]kill [-l <信息编号>][程序]可以是程序的 PID 或是 PGID,也可以是工作编号;PID可以使用htop查看;kill 2950 # 结束PID为2950的程序
pkill:直接杀死运行中的程序
pkill firefox # 结束firefox程序 # firefor是程序名,也即是“命令名” # 要结束一个程序的单个进程,使用 kill PID
xkill:杀死图形程序
xkill # 运行后,鼠标光标会会变成“X”型,点击相应的程序图形窗口就可以结束程序
pgrep:查找进程id
pgrep chro -l # 查找关键字chro的进程id,并显示进程名称
ps:报告程序状况
ps:process statusps -A | grep chrome # 在所有运行的程序中查找chrome
pstree:以树状图显示程序
pstree:process status treepstree # 以树状图显示程序pstree -a # 显示所有程序及其相关信息
screen:多重视窗管理程序
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>]screen -S newwork # 新建一个视窗screen -ls # 列出所有视窗screen -r work # 恢复work视窗
alias:设置指令的别名
alias name = 'command line' # 基本用法alias mv='mv -i' # mv就自带参数-ialias -p # 列出现有的所有别名
设备管理
mount:挂载命令
mount [-t vfstype][-o options][挂载设备][目录]mount /dev/sda1 mymount // 把sda1(第一块硬盘第一分区)挂载到mymount目录mount -o rw /dev/sda1 mymount // 读写方式挂载mount -o loop /file mymount // 将文件(如ISO文件)挂载成设备mount -t fat32 /dev/sda1 mymount // 指定要挂载的设备类型为fat32
df:显示磁盘相关信息
df [-ahHiklmPT][--block-size=<区块大小>][-t][-x][--no-sync][--sync][文件或设备]df -T -h // 显示磁盘信息,包括分区类型,大小以G M K 等大单位显示
lspci:查看pci设备信息
lspci // 显示pci简略信息lspci -v // 显示pci设备详细信息,-vv更详细,-vvv非常详细
blkid:查看块设备(包括交换分区)的信息
sudo blkid // 列出当前系统中所以已挂载文件系统的类型blkid /dev/sda1 // 查看指定设备信息sudo blkid -s LABEL // 查看设备的LABELsudo blkid -s UUID // 查看设备的UUID
lsusb:查看usb设备
lsusb // 列出所有usb信息lsusb -v // 显示pci设备详细信息,-vv更详细
软件管理
百度百科解释:
-aptitude与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。-
-Advanced Package Tool,又名apt-get,是一款适用于Unix和Linux系统的应用程序管理器。Apt-get成名的原因之一在于其出色的解决软件依赖关系的能力。-
-“dpkg ”为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。用来安装.deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件 -
aptitude
aptitude search packageaptitude search "str1 str2" //xkeyword: str1 && str2 aptitude search str1 str2 // str1 || str2 // 查找软件包,i为已经安装,p为未安装的aptitude install package // 安装软件包aptitude remove package // 删除软件包
apt-get
apt-get install package // 安装软件包apt-get install --reinstall package // 重新安装包apt-get -f install // 修复安装,比如dpkg装完一个软件包后,提示一些库没有,用此命令即可修复apt-get remove package // 删除软件包(不包抱配置文件)apt-get remove --purge pakage // 删除软件包(包抱配置文件)add-apt-repository ppa:"ppa_name" // 添加ppa个人软件源,将其添加至当前apt(/etc/apt/sources.list.d)库中apt-get update // 是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,即运行这条命令时,是我们想知道软件源中有哪些软件了sudo apt-get autoclean // 清理旧版本的软件缓存sudo apt-get clean // 清理所有软件缓存sudo apt-get autoremove // 删除系统不再使用的孤立软件
apt-cache
apt-cache show package // 显示指定软件包的信息,包括版本号,安装状态和包依赖关系等apt-cache search package // 按关键字查找软件包apt-cache depends package // 显示指定软件包所依赖的软件包
dpkg
dpkg -i package.deb // 安装软件包,安装deb包,但不能自己解模专依赖问题,只会提示你需要安装依赖的模块dpkg -r package // 删除软件包dpkg -r --purge pacakge // 连同软件包的配置文件一块删除dpkg --info xxx.deb // 查看deb包的信息dpkg -l // 查看系统中已安装软件包信息dpkg --instdir=DIR // 指定安装目录dpkg -L pacakge // 列出与该包相关联的文件
程序相关
pkg-config:用于提供库等路径
pkg-config --libs opecv // 查看opencv的库位置,将会有如下输出:-L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lippicv -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core // 可以看到-L和-l表示库的目录的和文件pkg-config --cflags opencv // 查年opencv的cflags参数,将会有如下输出:-I/usr/local/include/opencv -I/usr/local/include // 可以看到-I表示包含的目录 // pkg-config是找一个*.pc的文件,可以查看opencv.pc的位置:locate opnecv.pc // 我的在/usr/local/lib/pkgconfig/opencv.pc
终端快捷键
0 0
- 命令学习 of Ubuntu
- UBUNTU 命令学习
- Ubuntu命令的学习
- Ubuntu 命令学习
- Ubuntu命令学习(一)
- Ubuntu命令学习(二)
- Ubuntu命令学习
- 【转】 ubuntu adduser 命令学习
- Ubuntu下命令学习2
- 学习ubuntu之wget命令
- ubuntu 技巧及命令学习
- Linux操作系统Ubuntu的apt命令学习
- Ubuntu终端常用的命令学习记录
- GNU/Linux ubuntu 命令学习笔记
- 【整理】ubuntu ln命令简单学习
- Ubuntu学习笔记之apt-get命令
- Ubuntu 终端命令学习----浅…
- 学习ubuntu之文件/文件夹操作命令
- HihoCoder Trie树 java实现
- Swift变量名的一种玩法
- Linux系统日志
- springMVC4(8)模型数据绑定全面分析
- 海康威视Android SDK,并非萤石Android SDK
- 命令学习 of Ubuntu
- nginx access_log 完全关闭
- Auto MDI/MDI-X 简要说明及网线头线序
- 【bzoj1103】【POI2007】【大都市】
- 每周一算法(之数据查找之一)
- iOS绘图教程
- hdu 1288 Hat's Tea
- 资料网站
- display:inline、block、inline-block的区别