1.pwd
显示当前工作目录
/ 根目录,万物起源。
/bin 包含系统启动和运行所必须的二进制程序。
/boot 包含 Linux 内核、初始 RAM 磁盘映像(用于启动时所需的驱动)和 启动加载程序。
有趣的文件:
/boot/grub/grub.conf or menu.lst, 被用来配置启动加载程序。
/boot/vmlinuz,Linux 内核。
/dev 这是一个包含设备结点的特殊目录。“一切都是文件”,也适用于设备。 在这个目录里,内核维护着所有设备的列表。
/etc 这个目录包含所有系统层面的配置文件。它也包含一系列的 shell 脚本, 在系统启动时,这些脚本会开启每个系统服务。这个目录中的任何文件应该是可读的文本文件。
有趣的文件:虽然/etc 目录中的任何文件都有趣,但这里只列出了一些我一直喜欢的文件:
/etc/crontab, 定义自动运行的任务。
/etc/fstab,包含存储设备的列表,以及与他们相关的挂载点。
/etc/passwd,包含用户帐号列表。
/home 在通常的配置环境下,系统会在/home 下,给每个用户分配一个目录。普通用户只能 在自己的目录下写文件。这个限制保护系统免受错误的用户活动破坏。
/lib 包含核心系统程序所使用的共享库文件。这些文件与 Windows 中的动态链接库相似。
/lost+found 每个使用 Linux 文件系统的格式化分区或设备,例如 ext3文件系统, 都会有这个目录。当部分恢复一个损坏的文件系统时,会用到这个目录。这个目录应该是空的,除非文件系统 真正的损坏了。
/media 在现在的 Linux 系统中,/media 目录会包含可移动介质的挂载点, 例如 USB 驱动器,CD-ROMs 等等。这些介质连接到计算机之后,会自动地挂载到这个目录结点下。
/mnt 在早些的 Linux 系统中,/mnt 目录包含可移动介质的挂载点。
/opt 这个/opt 目录被用来安装“可选的”软件。这个主要用来存储可能 安装在系统中的商业软件产品。
/proc 这个/proc 目录很特殊。从存储在硬盘上的文件的意义上说,它不是真正的文件系统。 相反,它是一个由 Linux 内核维护的虚拟文件系统。它所包含的文件是内核的窥视孔。这些文件是可读的, 它们会告诉你内核是怎样监管计算机的。
/root root 帐户的家目录。
/sbin 这个目录包含“系统”二进制文件。它们是完成重大系统任务的程序,通常为超级用户保留。
/tmp 这个/tmp 目录,是用来存储由各种程序创建的临时文件的地方。一些配置导致系统每次 重新启动时,都会清空这个目录。
/usr 在 Linux 系统中,/usr 目录可能是最大的一个。它包含普通用户所需要的所有程序和文件。
/usr/bin /usr/bin 目录包含系统安装的可执行程序。通常,这个目录会包含许多程序。
/usr/lib 包含由/usr/bin 目录中的程序所用的共享库。
/usr/local 这个/usr/local 目录,是非系统发行版自带程序的安装目录。 通常,由源码编译的程序会安装在/usr/local/bin 目录下。新安装的 Linux 系统中会存在这个目录, 并且在管理员安装程序之前,这个目录是空的。
/usr/sbin 包含许多系统管理程序。
/usr/share /usr/share 目录包含许多由/usr/bin 目录中的程序使用的共享数据。 其中包括像默认的配置文件、图标、桌面背景、音频文件等等。
/usr/share/doc 大多数安装在系统中的软件包会包含一些文档。在/usr/share/doc 目录下, 我们可以找到按照软件包分类的文档。
/var 除了/tmp 和/home 目录之外,相对来说,目前我们看到的目录是静态的,这是说, 它们的内容不会改变。/var 目录存放的是动态文件。各种数据库,假脱机文件, 用户邮件等等,都位于在这里。
/var/log 这个/var/log 目录包含日志文件、各种系统活动的记录。这些文件非常重要,并且 应该时时监测它们。其中最重要的一个文件是/var/log/messages。注意,为了系统安全,在一些系统中, 你必须是超级用户才能查看这些日志文件。
2.cd
cd 更改工作目录到你的家目录。
cd - 更改工作目录到先前的工作目录。
cd ~user_name 更改工作目录到用户家目录。
-
以 “.” 字符开头的文件名是隐藏文件。这仅表示,ls 命令不能列出它们, 用 ls -a 命令就可以了。当你创建帐号后,几个配置帐号的隐藏文件被放置在 你的家目录下。稍后,我们会仔细研究一些隐藏文件,来定制你的系统环境。 另外,一些应用程序也会把它们的配置文件以隐藏文件的形式放在你的家目录下面。
-
文件名和命令名是大小写敏感的。文件名 “File1” 和 “file1” 是指两个不同的文件名。
-
Linux 没有“文件扩展名”的概念,不像其它一些系统。可以用你喜欢的任何名字 来给文件起名。文件内容或用途由其它方法来决定。虽然类 Unix 的操作系统, 不用文件扩展名来决定文件的内容或用途,但是有些应用程序会。
-
虽然 Linux 支持长文件名,文件名可能包含空格,标点符号,但标点符号仅限 使用 “.”,“-”,下划线。最重要的是,不要在文件名中使用空格。如果你想表示词与 词间的空格,用下划线字符来代替。过些时候,你会感激自己这样做
3.关机重启
#重启命令:
1、sudo reboot
2、sudo shutdown -r now #立刻重启
3、sudo shutdown -r 10 #过10分钟自动重启
4、sudo shutdown -r 11:11 #在时间为11:11时候重启
#关机命令:
1、sudo halt #立刻关机
2、sudo poweroff #立刻关机
3、sudo shutdown -h now #立刻关机
4、sudo shutdown -h 10 #10分钟后自动关机
#休眠:
systemctl hibernate
#待机:
systemctl suspend #关闭CPU 开启内存
systemctl suspend-hybrid #将内存保存到磁盘中然后全部暂停
#省电模式:
systemctl powersave
4.任务管理器
#查看进程
ps -ef
#或
ps -aux
#寻找指定进程
ps -aux | grep bluetoothd
#杀进程
kill PID
#强制杀进程
kill -9 PID
5.进程管理
ctrl+c强制中断程序
ctrl+z的是将任务中断,挂起的状态,
ctrl+c是强制中断程序的执行,而ctrl+z的是将任务中断.
但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,
用户可以使用fg/bg操作继续前台或后台的任务,
fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台运行。
6.重定向
shell 内部分别将标准输入、输出和错误称为文件描述符0、1和2,shell 使用文件描述符提供 了一种表示法来重定向文件。
>替换
>>填入
标准输出重定向
ls -l >> ls-output.txt
标准错误重定向
ls -l /bin/usr 2> ls-error.txt
#标准输出+标准错误重定向
ls -l /bin/usr > ls-output.txt 2>&1
#或
ls -l /bin/usr &> ls-output.txt
#沉默错误输出
ls -l /bin/usr 2> /dev/null
#这个文件是系统设备,叫做位存储桶,
#它可以 接受输入,并且对输入不做任何处理。
标准输入重定向
cat [file]
#读取一个或多个文件,然后复制它们到标准输出。(即显示文件内容)
cat movie.mpeg.0* > movie.mpeg
#因为通配符总是以有序的方式展开,
#所以这些参数会以正确顺序安排。
#复制标准输入到标准输出
cat
XXX...
Ctrl-d
# 我们可以使用这种行为来创建简短的文本文件
cat > lazy_dog.txt
XXX...
Ctrl-d
#重定向标准输入
cat < lazy_dog.txt
#把标准输入源从键盘改到文件 lazy_dog.tx
7.管道线
command1 | command2
#命令从标准输入读取数据并输送到标准输出的能力,
#被一个称为管道线的 shell 特性所利用。
#使用管道操作符”|”,
#一个命令的标准输出可以通过管道,
#送至另一个命令的标准输入。
ls -l /usr/bin | less
#管道线经常用来对数据完成复杂的操作。
#有可能会把几个命令放在一起组成一个管道线。
#通常,以这种方式使用的命令被称为过滤器。
#过滤器接受输入,以某种方式改变它,然后 输出它。
ls /bin /usr/bin | sort | less
#sort:排序
ls /bin /usr/bin | sort | uniq | less
#uniq:从数据列表中删除任何重复行
#如果想看到重复的数据列表,让 uniq 命令带上”-d”选项
ls /bin /usr/bin | sort | uniq -d | less
#wc:显示文件行数、字数和字节数
wc ls-output.txt
wc -l ls-output.txt
#显示文件行数
#显示列表中的文件个数
ls /bin /usr/bin | sort | uniq | wc -l
grep
#找到文件中的匹配文本
grep pattern [file...]
ls /bin /usr/bin | sort | uniq | grep zip
#找到zip文件
-i#忽略大小写
-v#只打印不匹配行
head / tail
#head 命令打印文件的前十行
#tail 命令打印文件的后十行
#打印前五行
head -n 5 ls-output.txt
#打印后五行
tail -n 5 ls-output.txt
#实时浏览日志
tail -f /var/log/messages
#使用”-f”选项,tail 命令继续监测这个文件
#当新的内容添加到文件后,它们会立即出现在屏幕上。
tee
#从标准输入读入数据,并且同时复制数据 到标准输出
#安插在管道线之中,观察数据流动
ls /usr/bin | tee ls.txt | grep zip
网友评论