大家好,因为项目需求,我需要使用Ubuntu,但是自己基本没有Linux使用经验,命令语句更是没记得几句,所以,今天先补补,先掌握点基础操作命令语句,如果有类似需求的同学,希望以下内容对您也有所帮助哈。开始!
Unix简介
Unix操作系统有很多版本,最著名的包括:Sun Solaris, GNU/Linux, and MacOS X。Unix操作系统由三部分组成:
1)the kernel(内核):内核是操作系统的核心,他负责:为程序分配时间和内存,处理文档存储以及系统响应等。
2) the shell(外壳) :外壳是用户和内核之间的桥梁(接口),是一个命令行解释器(a command line interpreter (CLI))。
3)the programs(程序):Unix里面全部内容非文件即进程(Everything in UNIX is either a file or a process.)
一、关于文件、目录处理的部分指令介绍
1、ls(list)->列出当前工作目录下的文件,但不包括以‘.’开头的文件。以‘.’开头的文件通常为隐藏文件,如果需要列出所有文件(包括要从隐藏文件),则需要使用指令:ls -a
2、mkdir(make directory)->在当前目录下建立一个子目录,如mkdir xxx
3、cd(change directory)->从当前工作目录到新的指定的工作目录,如cd xxx
4、. 和 ..对比->‘.’表示当前目录,比如:cd . 表示继续待在当前目录下;cd ..表示返回上级父目录
5、pwd(print working directory)->显示当前工作目录的绝对路径
6、cp(copy)->复制文件。如:cp file1 file2 表示复制当前工作目录下的文件file1,且命名为file2
7、mv(move)->移动文件(如果在同一工作目录下则为重命名): mv file1 file2(move file1 to file2)
8、rm(remove file),rmdir(remove directory)->删除file或者工作目录(在删除工作目录的时候,需要确保这个工作目录下内容是空的) rm temp.txt
9、clear(clear screen)->清除当前终端窗口已经有的命令语句,是的终端简洁;处女座福音哈
10、cat(concatenate)->在屏幕上展示文件内容 cat demo.txt
11、less->less demo.txt逐步展示文件(尤其是当文件的内容很多是)的内容,首先展示第一页,然后点击空白键(space-bar)会继续展示下一页,以此类推,当出入q时,退出;而上面提到的cat命令会一次性展示文件的内容
12、head->head demo.txt 展示文件前10行内容(write the first ten lines of a file to the screen)
13、tail->tail demo.txt 展示文件后10行内容(write the last ten lines of a file to the screen)
14、grep->搜索词或者正则匹配(search files for specified words or pattern) 比如:
grep demo demo.txt(终端会把文件显示出来,且将里面的demo词标红)
备注:grep对检索词的大小写敏感,如果要忽略大小写,可以加一个-i,比如grep -i demo demo.txt,检索词组时,用单引号包裹词组。grep -i 'top three' demo.txt
grep -v x demo.txt --->显示不匹配的行的内容
grep -n x demo.txt --->显示匹配的行的行号
grep -c x demo.txt --->显示匹配的行数
grep -ivc x demo.txt --->显示不匹配的行的行数
15、wc(word count)->计算字符数
wc -w demo.txt --->计算字数 wc -l demo.txt --->计算行数
16、cat->在键盘输入cat后,在终端输入语句,点击return后会在终端打出刚输入的语句。然后输入ctrl+d可以退出
cat demo1.txt demo2.txt > demo.txt -->复制demo1和demo2的内容,全部写入demo.txt(如果该文件不存在,系统会自动新建)
17、通配符(* wildcard)->
?ouse will match files like house and mouse, but not grouse
ls list* ->列出所有以list开头的词语;ls *list-> 列出所有以list结尾的词语
18、man->man x 查询命令x的功能
19、gzip->压缩文件 gzip demo.txt
20、gunzip->解压缩文件 gunzip demo.txt.gz
21、zcat->他可以读取压缩文件的内容(不需要解压缩)比如:zcat demo.txt.gz
22、file->可以查看文件的各种信息,比如编码、大小、文件类型等
23、diff->比较文件差异 diff file1 file2
24、find->通过给定名字、时间、大小或者其他属性来查找文件(This searches through the directories for files and directories with a given name, date, size, or any other attribute you care to specify.)
find . -name "*.txt" -print --->在当前路径下(.)查找文件格式为txt的文件,并且打印出来
find . -size +1M -ls -->在当前路径下(.)查找文件大小超过1M的文件,并且打印结果
25、history->显示先前输入的命令 history(show command history list)
26、chmod->修改文件权限:chmod [who] [+ | - | =] [mode] 文件
说明:+表示增加某个权限;-表示取消某个权限;= 表示给定权限并取消其他所有权限(如果有的话)。设置mode所表示的权限可用下述字母的任意组合:r 可读;w 可写;x 可执行(只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性);s 在文件执行时把进程的属主或组ID置为该文件的文件属主;方式“u+s”设置文件的用户ID位,“g+s”设置组ID位;t 保存程序的文本到交换设备上;u 与文件属主拥有一样的权限;g 与和文件属主同组的用户拥有一样的权限;o 与其他用户拥有一样的权限。文件名:以空格分开的要改变权限的文件列表,支持通配符。例如:
chmod +x talker.py 执行talker.py
二、关于进程处理的指令
1、ps(process)->显示进程
ps -a --->列出包括其他user的进程状况
ps -u --->显示面向用户的进程状况(比-a更加详细)
ps -x --->显示包括没有终端控制的进程状况
ps -w --->使用较宽的显示模式来显示进程状况
2、kill->kill 指令的用途是送一个signal给某一个进程。因为大部份送的都是用来杀掉进程的SIGKILL 或 SIGHUP,因此称为 kill。kill 的用法为:
kill [-SIGNAL] pid…
kill -l(此处是list的l,不是1)
SIGNAL 为一个 singal 的数字,从 0 到 31,其中 9 是 SIGKILL,也就是一般用来杀掉一些无法正常 terminate 的讯号。其余讯号的用途可参考 sigvec(2)中对 signal 的说明。你也可以用 kill -l 来察看可代替 signal 号码的数目字。
三、网络指令
1、rlogin(remotelogin)->rlogin host[-l username] 选项-l username 是当你在远方的机器上的 username 和 localhost 不同的时後,必须输入的选项,否则 rlogin 将会假设你在那边的 username 与 localhost 相同,然後在第一次 login 时必然会发生错误
2、rsh->rsh host [-l username][command]在远方的机器上执行某些指令,而把结果传回localhost
3、telnet->telnet [hostname| ip -address][port] 是一个提供 user 经由网路连到 remotehost。
4、ftp(file transfer program)->ftp [hostname| ip-address] 网络文件传输格式。利用 ftp,可以在不同的机器上将所需要的资料做转移,某些特别的机器可以存放大量的资料以供各地人抓取
ftp 常用命令:
ascii 将传输模式设为 ascii 模式。通常用於传送文字档。
binary 将传输模式设为 binary 模式,通常用於传送执行档,压缩档与影像档等。
cd remote-directory 将 remotehost 上的工作目录改变。
lcd [directory]更改 localhost 的工作目录。
ls [remote-directory][local-file]列出 remotehost 上的文件。
get remote-file[local-file]取得远方的文件。
mget remote-files 可使用通用字元一次取得多个文件。
put local-file[remote-file]将 localhost 的文件送到 remotehost。
mput local-files 可使用通用字元一次将多个文件放到 remotehost 上。
help[command]线上辅助指令。
mkdir directory-name 在 remotehost 造一个目录。
prompt 更改交谈模式,若为 on 则在 mput 与 mget 时每作一个文件之传输时均会询问。
quit/bye 离开 ftp。
5、wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径
例如(下载到某一文件夹): # wget linuxsense.org/xxxx/xxx.tar.gz">http://www.linuxsense.org/xxxx/xxx.tar.gz
已经在目标文件夹,下载网络资源:$ wget https://raw.github.com/ros/ros_tutorials/kinetic-devel/rospy_tutorials/001_talker_listener/talker.py
简单说一下-c参数, 这个也非常常见, 可以断点续传, 如果不小心终止了, 可以继续使用命令接着下载
例如: # wget -c http://www.linuxsense.org/xxxx/xxx.tar.gz
可能基础的、常用的命令就是这些,以后项目中遇到再不断丰富内容。希望对大家也有所帮助哈~~