45-命令行基础操作 LInux命令行基础 LInux命令基础知识 Linux的Gul与CLI 为什么使用Linux命令行 Linux命令语法格式 Linux命令分类 LInux基础命令 登录命令 电源管理命令 电源命令1: shutdown 电源命令2: halt 电源命令3: reboot 文件管理命令Linux文件目录结构(1) Linux文件路径 帮助命令 目录操作,文件操作和查看操作 文件命令1: pwd 文件命令2: cd 文件命令3: ls 文件命令4: mkdir 文件命令6: cp 文件命令7: mv 文件命令8: rm 文件命令9: cat 文件命令10: head 文件命令11: tail 分页查看操作和查找操作 文件命令12: more 文件命令13: less 文件命令14: find 文件命令16: which 压缩和打包操作 文件命令15: gzip 文件命令16: tar 文件命令17: ln (1)
LInux命令行基础
LInux命令基础知识
Linux的Gul与CLI
GUI , Graphical User Interface,图形用户界面。用户界面的所有元素图形化,主要使用鼠标作为输入工具,使用按钮、菜单、对话框等进行交互,追求易用。 CLI , Command Line Interface,命令行界面。用户界面字符化,使用键盘作为输入工具,输入命令、选项、参数执行程序,追求高效。
为什么使用Linux命令行
命令行更高效: Linux系统中使用键盘操作速度要比鼠标更快。 图形化界面不可重复,而命令行可以编写的脚本完成所有过程(例如∶删除过期日志文件)。 图形化界面开销大: 运行图形化界面会占用很多的系统资源,运行命令行可以让系统资源释放给它更应该做的事情。 命令行有时候是唯一的选择: 口大部分服务器操作系统不会安装图形界面(GUI)。 口联网设备的维护管理工具本来就没有图形化界面供我们使用。
Linux命令语法格式
命令格式:命令【-选项】【参数】 示例: ls -la /etc 说明: 个别命令使用不遵循此格式,【】符号表示非必选项。 当有多个选项时,可以写在一起。 简化选项(一个-)与完整选项(两个–),比如ls -a等于ls --all。 这里举几个例子的含义:
ls -a /etc :表示显示根目录下etc目录中所有的文件,包括隐藏文件(ls是命令,-a 是选项,/etc 是参数。并不是所有的命令满足(-a)这样的形式,比如下一个例子)
chmod u+x 1.txt : 表示给1.txt的文件所有者增加文件的可执行权限(u+x 不遵守一般命令中横杠选项的横杠语法格式)
ls: 列出当前目录的内容(在这里省略的选项和参数)
ls -l : 以长格式列出当前目录的内容
ls -a : 表示列出当前目录的所有内容,包括隐藏文件
ls -al : 表示以长格式列出当前目录的所有内容,包括隐藏文件的内容
Linux命令分类
LInux基础命令
登录命令
login的作用是登录系统,使用权限是所有用户。 如果选择用命令行模式登录Linux的话,看到的第一个Linux命令就是login。 Linux是一个真正的多用户操作系统,可以同时接受多个用户登录,还允许一个用户进行多次登录。 这是因为Linux和许多版本的Unix一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。 每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换。 虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6。 例子: 先输入一个死循环
alt + f2 :进入到另一个控制台界面 top命令 : 监视当前项目进程(ipd : 7207) kill 7202 :在第二个控制台终止第一个控制台的 last : 查看最近的登录记录 last -n : 显示最近的n条登录记录(last -n 3 : 最近三次登录记录 。 简化:last -3) last tty2 : 显示指定的虚拟控制台2的登录记录 last root : 显示指定用户(root)的登录记录 exit : 退出系统
电源管理命令
电源命令1: shutdown
shutdown命令的作用是关闭计算机,使用权限是超级用户。 主要参数: /- h : 关机后关闭电源。 /- r : 关机后打开电源(相当于重启)。 /- t : 在改变到其它运行级别之前,告诉init程序多久以后关机。 /- k : 并不真正关机,只是送警告信号给每位登录者。 /- f : 在重启计算机时强迫fsck。 /- time : 设定关机前的时间。 /- c : 取消这个关机计划 shutdown命令可以安全地将系统关机,使用直接断掉电源的方式来关闭Linux系统十分危险。 Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备。 在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录。
电源命令2: halt
. halt命令的作用是关闭系统,使用权限是超级用户。
主要参数: -n : 防止sync系统调用,它用在用fsck修补根分区之后,以阻止内核用老版本的超级块覆盖修补过的超级块。 -w : 并不是真正的重启或关机,只是写wtmp (/var/log/wtmp)纪录。 -f : 没有调用shutdown,而强制关机或重启。 -i : 关机(或重启)前,关掉所有的网络接口。 -f : 强迫关机,不呼叫shutdown这个指令。 -d:关闭系统,但不留下纪录。
电源命令3: reboot
reboot命令的作用是重新启动计算机,使用权限是系统管理者 主要参数: -n:保存数据后再重新启动系统。 -w:并不会真的重开机,只是把记录写到/var/log/wtmp文件里。 -d:不把记录写到/var/log/wtmp文件里( - n这个参数包含了- d)。 -i:关闭网络设置之后再重新启动系统。
文件管理命令Linux文件目录结构(1)
在Linux操作系统中,一切皆是文件 Linux的文件目录结构是树形,“I”称为根目录 /dev : 存放硬件设备文件的目录 /bin : binary的缩写,存放我们经常使用的目录 /boot : 存放着启动Linux是使用的核心文件 /etc :存放所有系统管理所需要的配置文件和子目录 /lib : libary存放系统最基本的动态连接共享库(其中的文件相当于windows的dll文件) /midia : Linux会自动识别出u盘等设备,被识别后挂载到这个目录 /mnt : 让用户可以临时挂载别的文件系统,比如把光驱挂载到这里,可以在这里看到它的内容 /opt : 给主机额外安装软件存放的目录,可以把另外给系统安装的软件放在这里
/proc : 系统内存的映射,访问这个目录,获取系统的信息 /root : 超级用户的主目录 /run : 临时文件系统,存放系统存放以来的系统信息,系统重启以后这个目录下的文件会被清除 /sbin : 存放设系统管理员使用的系统管理程序 /srv : 存放一些服务启动之后需要提取的数据 /sys : 这里安装了Linux2.6内核中新出现的一个文件系统sysfs /tmp : 存放这系统临时文件 /usr : 用户和很多应用程序的文件存放在这里(类似于wiindows中的 program fils文件) /var : 习惯把经常需要修改的文件放到这里(例如各种日志文件) /home : 用户的主目录,每一个用户都有一个以自己的用户名命名的目录
Linux文件路径
在用shell或调用应用程序的时,都要写明被调用的程序路径。 路径分为绝对路径和相对路径。 1 绝对路径 : 在Linux中,绝对路径是从/(也被称为根目录)开始的,如果一个路径是从/开始的,那一定是绝对路径。 2 相对路径 : 相对路径就是相对当前所在目录来说的路径。
帮助命令
目录操作,文件操作和查看操作
文件命令1: pwd
pwd命令用于打印出当前的工作目录。 pwd命令有两个选项,-L和-P,其作用类似于cd命令的同名选项。 -L目录连接链接时,输出连接路径。 -P输出物理路径。
文件命令2: cd
cd命令用于改变当前工作目录。 语法: cd [dir] cd /usr : 进入目录/usr中。 cd .. : 进入(退到)上一层目录,两个点代表父目录。 cd . : 进入当前目录 cd : 不带参数,则默认回到家目录。 cd - : 进入前一个目录,适用于在两个目录之间快速切换。 cd ~ : 进入家目录
文件命令3: ls
ls命令是Linux命令中使用频率最高者之一,用于列出目录的内容,或者文件的信息,该命令的输出结果默认按照文件名排序,如果不指定目标,则列出当前目录的内容。 语法:ls [OPTION]… [FILE]… -a ; 显示所有文件及目录,包括隐藏的文件和目录。 -l : 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出。 -t : 将文件依建立时间之先后次序列出。 -s : 将文件将大小排序列出 -R : 若目录下有文件,则以下之文件亦皆依序列出。 -d:-directory将目录像文件一样显示,而不是显示其下的文件
文件命令4: mkdir
mkdir命令用于创建目录(文件夹)。 语法: mkdir [OPTION]… DIRECTORY… mkdir -p 父目录/子目录 :同时创建父目录和子目录
实践:
文件命令6: cp
cp命令用于复制文件或者目录,可以一次复制单个文件,也可以一次复制多个文件 (cp命令属于高危命令,使用不慎就会有丢失数据的危险)。 语法: cp [OPTION]… SOURCE… DIRECTORY -a : 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。 -p : 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。 -r : 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。 -l : 不复制文件,只是生成链接文件。
文件命令7: mv
mv命令用于移动件或者目录(高危命令,使用不慎就会有丢失数据的危险)。 如果原文件和目标文件在同一个父目录里面,则mv命令的效果就相当于给文件改名。 语法: mv[选项]源文件或目录目标文件或目录。 -b : 若需覆盖文件,则覆盖前先行备份。 -f : force强制的意思,如果目标文件已经存在,不会询问而直接覆盖。 -i : 若目标文件(destination)已经存在时,就会询问是否覆盖。 -u : 若目标文件已经存在,且source比较新,才会更新(update)。
实践:
文件命令8: rm
rm命令用于删除文件或者目录。 rm命令属于高危命令,没有一个工具能够100%恢复rm命令删除的文件,rm命令删除文件时并不是把文件放到类似图形界面的“回收站” 里,所以没有“撤销删除”操作可用。 语法: rm [OPTION] file_or_dir -f, --force : 忽略不存在的文件,从不给出提示。 -i, --interactive进行交互式删除。 -r, -R, --recursive : 指示rm将参数中列出的全部目录和子目录均递归地删除。 -v, --verbose : 详细显示进行的步骤。
文件命令9: cat
cat命令用于读取文件的全部内容,或者将几个文件合并为一个文件。 语法: cat [OPTION] [FILE] -A, --show-all 等价于—vET。 -b, --number-nonblank 对非空输出行编号。 -E, --show-ends 在每行结束处显示$。 -n, --number 对输出的所有行编号,由1开始对所有输出的行数编号。 -> : 将前面文件的内容覆盖到后面文件中 ->> : 将前面文件的内容追加到后面文件的末尾
文件命令10: head
head用来显示文件的开头内容,默认head命令打印其相应文件的开头10行。 语法: head [OPTION][FILE] 命令参数: -q : 隐藏文件名 -v : 显示文件名 -c<字节> : 显示字节数
文件命令11: tail
tail命令用于读取文件的尾部。 语法: tail [OPTION].….[FILE]… 主要参数: -f : 循环读取。 -q : 不显示处理信息。 -v : 显示详细的处理信息。 -c<数目> : 显示的字节数。 -n<行数> : 显示行数。
实践:
分页查看操作和查找操作
文件命令12: more
more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键 (space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能。more命令从前向后读取文件,因此在启动时就加载整个文件。
语法:more [OPTION].… [FILE]… +n 从第n行开始显示。 -n 定义屏幕大小为n行。 +/pattern 在文件显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示。 -c 从顶部清屏,然后显示。 //eg : more -c -3 file.txt 指定每页为三行,每次到下一页上一页清空
使用more命令在读取文件信息时,可以进行交互操作。 Enter : 向下n行,需要定义。默认为1行。 Ctrl+F : 向下滚动一屏。 空格键 : 向下滚动一屏。 Ctrl+B : 返回上一屏。 = : 输出当前行的行号。 V : 调用vi编辑器。 !命令 : 调用shell,并执行命令。 q : 退出more。
文件命令13: less
less命令读取内容,分屏显示,less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。 语法: less [OPTION].….[FILE]… 常用操作: /字符串 : 向下搜索“字符串”的功能。 ?字符串 : 向上搜索“字符串”的功能。 q : 退出less命令。 空格键 : 滚动一页。 回车键 : 滚动一行。 page up 或 page down : 向上向下翻页键
文件命令14: find
find命令用来在指定目录下查找文件。 可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找文件。 常用语法: find [path…] [expression] -name 按照文件名查找文件。 -perm 按照文件权限来查找文件。 -user 按照文件属主来查找文件。 -mtime -n +n 按照文件的更改时间来查找文件。 -type : 按照文件的类型查找文件(d表示目录,f表示文件,l表示软连接) -empty : 可以查找文件中的空文件和空目录 -empty -delete : 可以查找文件中的空文件并删除 eg : find ./ -name “*.txt” ./表示在当前目录中查找(可以省略) -name 表示按名称查找 后面加字符串 * 是通配符 .txt 是通配符后面的后缀,表示我们查找是以.txt为名称后缀的文件
实践:
文件命令16: which
which命令在PATH所指定的目录中查找可执行文件。 使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。 语法: which [options] programname […]
压缩和打包操作
文件命令15: gzip
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令。(不带参数直接压缩文件) gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间。 语法: gzip[参数][文件或者目录] -d或–decompress或----uncompress : 解开压缩文件。 -f或–force : 强行压缩文件,不理会文件名是否存在以及该文件是否为符号连接。 -l或–list : 列出压缩文件的相关信息。 -r或–recursive : 递归处理,将指定目录下的所有文件及子目录一并处理。 -v或–verbose : 显示指令执行过程。 缺点: 无法将多个文件打包到同一个压缩文件中
文件命令16: tar
tar命令可用于打包文件,把多个文件打到一个包中,方便数据的移动。(使用时一般加上-f选项以备份原文件)
语法: tar [OPTION…] [FILE] -c : 建立新的压缩文件。 -x : 从压缩的文件中提取文件。 -t : 显示压缩文件的内容。 -z : 支持gzip解压文件。 -j : 支持gzip2解压文件。 -v : 显示操作过程。 -C : 把打包后的压缩文件放在指定目录
eg : tar -czf dir.tar.gz dir 使用了三个参数: c : 表示建立一个新的文件 z : 指定压缩工具为gzip f : 表示备份文件
文件命令17: ln (1)
ln命令用于创建链接文件。 Linux中有软链接和硬链接两种。
In命令在不带参数的情况下,默认创建的是硬链接。 语法: In [ -f | -n] [ -s ] SourceFile [ TargetFile ] -b : 删除,覆盖以前建立的链接。 -d : 允许超级用户制作目录的硬链接。 -f : 强制执行。 -i : 交互模式,文件存在则提示用户是否覆盖。 -n : 把符号链接视为一般目录。 -s : 软链接(符号链接)。