Linux的常用指令(一)

来源:互联网 发布:淘宝情趣用品类目 编辑:程序博客网 时间:2024/05/18 01:59

关于Linux

在做项目的过程中,遇到需要针对Linux板进行相关操作,自此产生了对Linux的相关学习兴趣。然而,Linux系统实在是博大而又精深,对于用了十年也不敢说精通的易操作的windows,Linux的指令系统倒是还有些让人摸不到头脑。乱麻理不清,就分段整理,本文旨在梳理Linux的常用指令,以便日后查阅及使用。

  • 查看目录与文件
  • 基本文件管理
  • 重定向与管道

Linux的优势

  • 免费
    Linux的开源开发模式是免费的,用户并不需要为使用这个系统交付任何费用。
  • 开源
    —Linux的社区开发模式使得世界各地有数百万志愿者为Linux提供技术支持和软件更新,使的Linux对于安全漏洞可以提供更快速的反应。在企业级应用领域,更少被病毒和安全问题困扰的Linux成为众多系统管理员的首选
    —相比于Windows,在实现同样的功能时,Linux所消耗的系统资源比Windows更少,同时更为稳定
    —Linux上的开源软件非常丰富,能够完成日常办公中的所有任务,并且不需要为此缴纳任何费用
  • 开放
    用户可以订制属于自己的功能,在Linux中,没有什么是不能被修改的

Linux快捷键

Ctrl+Alt+F1~F6 进入命令行模式
Ctrl+Alt+F7 进入X窗口模式
Ctrl+Alt+t 进入伪终端,逻辑上的终端设备
Tab 补全命令行

Shell基本命令

Shell是一个程序,它在用户和操作系统之间提供了一个面向行的可交互接口。用户在命令行中输入命令,运行在后台的Shell把命令转换成指令代码发送给操作系统

浏览硬盘

cd [目录名] 进入指定目录

参数 功能 / 进入根目录 (空) 进入用户主目录 .. 返回上级目录

ls 列出文件和目录

参数 功能 -l 列出文件的具体信息

P.S.
ls -l|more | 分屏显现,能在当时屏退出,但不能一页一页翻屏
ls -l|less | 能用pgup,pgdw 翻页,但不能在当时方位退出

find [option] [path…] [expression]在指定范围查找文件

参数 功能 -name 文件名 -type 类型(f普通文件 b块设备文件 c字符设备文件 d目录文件 p命名管道 l符号链接) -atime 最后一次使用在n天的文件 -mtime 最后一次修改在n天前的文件

find ~/ -name *.c -type c -print 查找用户主目录下所有的c程序文件
find /user/bin/ -type f -atime +100 -print 查找最后一次使用在100天或100天以前的命令

locate [expression]定位文件,用于完全不记得文件放置在何目录下

查看文本文件

cat 查看文件内容

参数 功能 -n 在每一行前显示行号

more 查看文件内容,可翻页(下翻页)

相关按键 功能 空格键 向下翻一页 Enter键 向下滚动一行 Q键 退出

head/tail 阅读文件的开头和结尾

参数 功能 -n 指定行数

less 查看文件内容,多功能浏览

相关按键 功能 空格键 向下翻一页 B键 向上翻一页 /+字符串 查找指定内容

grep [options] PATTERN [FILE] 查找文件内容,支持正则表达式
grep un day 在day文件里查找包含un的行
gerp ‘struct list’ day 如果要搜索的关键词里含有空格,必须加单引号

文件目录管理

Linux不存在所谓的盘符,已建立的文件系统的硬盘分区被挂载在某一个目录下。

建立文件和目录

mkdir 建立目录,可以一次建立一个或几个目录
mkdir document picture 在当前目录下建立document、picture两个目录

参数 功能 mkdir -p ~/tempx/job 分层创建,首先创建tempx,然后创建job

touch 建立一个空文件,或更新一个已存在文件的建立时间和日期

mv [file] [destination] 移动文件

参数 功能 mv -i [filename] [dictionary] 如果有同名文件,移动前询问是否覆盖 mv -b [filename] [dictionary] 在移动文件前,首先在目标目录的同名文件名后加一个“~” mv [filename] [filename1] 将filename的文件重命名为filename1

cp [file] [destination] 复制文件
-i -b参数同上
-r 将子目录连同其中的文件一起复制到另一个子目录下

rmdir rm 删除目录和文件
rmdir 删除目录,只能删除空目录
rm [destination/file]可以一次删除一个或几个文件

参数 功能 -i 删除前询问 -f 对不加-i的只读文件自动回答y -r 递归删除目录下的所有文件和子目录

文件和目录的权限

Linux针对三种人设置权限——用户、用户组、其他人

chown [option] … [owner] [:[group] file…] 改变文件的所有权
如果只需要更改文件的用户,可以省略参数:group;如果只要改变文件的用户组,不可省略:

示例 功能 sudo chown lewis:root days 将days的用户、用户组修改 sudo chown lewis days 修改days的用户 sudo chown :root days 修改days的用户组 -r 改变一个目录及其下所有文件和子目录的所有权设置

chmod 改变文件权限
u 用户 g用户组 o其他 a所有
chmod u+x days
chmod a-x days
chmod ug=rw,o=r days
chmod 711 days(rwx中,r为4,w为2,x为1)
只有文件属主和root才有权修改文件权限

软连接与硬链接

ln -s days my_days 建立一个名为my_days的符号链接指向文本文件days
访问my_days就相当于访问days,删除my_days并不会影响到days,类似于快捷方式
ln days hard_days 硬链接,将两个独立文件联系在一起
这两个文件拥有相同的内容,对其中一个文件的改动会反映到另一个文件中

区别:硬链接是直接引用,符号链接是通过名称引用

输入输出重定向和管道

重定向和管道允许用户人为的改变程序获取输入和产生输出的位置

输出重定向

程序在默认情况下输出结果被称为标准输出(stdout),通常标准输出总是指向显示器
输出重定向用于把程序的输出转移到另一个地方去

ls > ~/ls_out ls的输出在用户主目录的ls_out文件中
p.s.如果文件不存在,那么重定向会试图创建这个文件;如果文件已经存在了,那么”>”会删除文件中的原有内容,用新内容代替

uname -r >> date_out 重定向符号>>将新命令产生的信息追加到指定文件的末尾

输入重定向

标准输入stdin,标准输入总是指向键盘
输入重定向<可以让一个程序从一个文件中获取输入

cat < days

cat << EOF ##j结束标志可以自由定义
立即文档明确告诉shell从键盘接受输入,直到匹配到结束符,将所有的输入一起传递给程序

$ cat << 124> dfg> ert> 124dfgert

管道

“|”将一条命令的输出连接到另一条命令输入

ls | grep ay

ls首先列出当前目录下所有文件名,管道|接收到这些输出将他们发送给grep命令作为输入,最后grep在这堆文件列表中查找包含字符串ay的文件名