Linux 基础学习 基本概念及操作、常见命令
2016-12-22 21:06
761 查看
Linux 桌面环境介绍
Unix/Linux本身是没有界面的,所看到的Unix/Linux发行版的图形界面只是运行在Linux系统上的一套软件,类似win95前只是运行在Dos上的一个软件。而 Linux 上的这套软件以前是 XFree86,现在则是 xorg(X.Org),而这套软件又是通过 X 窗口系统(X Window System,也常被称为 X11 或 X)实现的,X 本身只是工具包及架构协议,而 xorg 便是 X 架构规范的一个实现体,也就是说它是实现了 X 协议规范的一个提供图形界面服务的服务器 。
如果只有服务器也是不能实现一个完整的桌面环境的,当然还需要一个客户端,我们称为 X Client,像如下几个大家熟知也最流行的实现了客户端功能的桌面环境 KDE,GNOME,XFCE,LXDE 。
实验楼目前使用的 XFCE 桌面环境。
Linux终端
在图形系统下,Linux系统提供了终端模拟器的程序(Terminal),常见的有:- gnome-terminal
- kconsole
- xterm
- rxvt
- kvt
- nxterm
- eterm
实验楼环境使用:xfce 桌面环境自带的 xfce-terminal 。
终端本质上是对应着 Linux 上的 /dev/tty 设备,Linux 的多用户登陆就是通过不同的 /dev/tty 设备完成的,Linux 默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6 个 virtual consoles)来让用户登录。在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换,不过在实验楼的在线实验环境中可能无法切换,因为特殊功能按键会被你的主机系统劫持。当你切换到其中一个终端后想要切换回图形界面,你可以按下[Ctrl]+[Alt]+[F7]来完成。
Shell
Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe 。普通意义上的 Shell 就是可以接受用户输入命令的程序。UNIX/Linux 下的图形用户界面 GNOME 和 KDE,有时也被叫做“虚拟 shell”或“图形 shell”。
在 UNIX/Linux 中比较流行的常见的 Shell 有 bash、zsh、ksh、csh 等等,Ubuntu 终端默认使用的是 bash,默认的桌面环境是 GNOME 或者 Unity(基于 GNOME),但我们的环境中使用的分别是 zsh 和 xfce。
文件与目录管理
pwd 显示当前目录cd 改变目录
ls 显示文件列表
mkdir 创建文件夹
cp 文件复制
mv 移动或重命名
rm 删除文件或目录
locate 在整个找出指定的文件,该命令直接与updatedb关联。该命令依赖地索引,直接新建的文件是搜索不到的,除非使用updatedb
updatedb 更新文件数据库。
man 显示指定命令的使用帮助
用户和组
用户管理
超级用户 root用户账户 在Linux 文件系统中的配置目录中保存丰系统用户的列表:/etc/passwd,密码保存在/etc/shadow中。
增加用户
useradd username 默认设置,一个home目录,没有有效期,默认组,登陆的BashShell 。
非登陆类的账号,如nginx , 可以使用:
useradd --shell /sbin/nologin nginx
或定位该用户的home目录的位置,如:
useradd --shell /sbin/nologin --home-dir /usr/local/nginx nginx
usermod 对账户重命名、修改密码,移动home位置
userdel username 删除账号 加-r 同时删除home目录
组管理
目的:让一个组的成员对某一文件或目录有共同的访问权限,每一个进入该组的用户都继承该组的权限。一个用户账户至少属于一个组——主要组(primary group)用户组的列表保存 /etc/group中。
- groupadd groupname 新建用户组
- groupmod 修改用户组
- groupdel 删除用户组
- 组添加成员
usermod --append --groups groupname username
查找 搜索
find 查找命令
find /home/test -name test.sh -print 在目录下查找文件并打印路径 命令选项: -name 按照文件名查找 -perm 按照文件权限来查找文件 -prune 不在当前指定的目录查找。如果同时使用了-depth,那-prune会被忽略 -user 按文件属主来查找文件 -group 按所属组来查找文件 -mtime -n +n 按照文件更改时间来查找文件 -nogroup 查找无有效所属组的文件,即在该所属组在/etc/groups中不存在 -nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在 -newer file1 !file2 查找更改时间比file1新但比file2老的文件 -type 查找某一类型的文件 -size n[c]查找文件工度为n块的文件,带有c时表示文件长度以字节计算 -depth 在查找文件地,首先查找当前目录中的文件,然后在其子目录中查找。 -fstype 查找位于某一类型雇佣系统中的文件 -mount 在查找文件地不跨越文件系统mount点 -cpio 对匹配的文件使用cpio命令,将这些文件备份到磁带设备中 find ~ -name "*.txt" -print 在$HOME目录下查找后缀txt的文件 find . -name "[A-Z]*" -print 查找当前目录及子目录里大写开头的文件 find /etc -name "host*" -print 在/etc里找host开头的文件 find . -name "[a-z][a-z][0-9][0-9].txt" -print 查找两个小写字母开头,后跟两个数字的文件 find . -perm 755 -print 当前目录下找权限为755的文件 find /apps -name "/apps/bin" -prune -o -print 忽略/apps/bin目录 find . -type f -exec ls -l {} \; 用ls -l 列出所找到的文件 find . -name "*.LOG" -mtime +5 -ok rm {} \;删除5天前的日志 find /home/hap/src/* -name "*.o" -exec rm {} \; 使用xargs find / -type f -print | xargs grep "device" 用grep命令在所有的普通文件中搜索device单词
sed
sed 是一个非交互性文本流编辑器,可以从文件和字符串中抽取所需信息。sed -n '2p' sed.txt 打印第2行 sed -n '1,3p' sed.txt 打印1~3行 sed -n '1,3p' sed.txt >sed.tmp 1~3行输出到sed.tmp文件里 sed -n '1,$p' sed.txt 显示全文 sed -n '1p' sed.txt 打印首行 sed -n '$p' sed.txt 打印最后一行 sed '2p' sed.txt 输出全部文本,然后输出第2行 sed -n '/should/'p sed.txt 查找should的行 sed -n '/should/=' sed.txt 输出匹配的行号 sed -n '/\./'p sed.txt 特殊字符查询,需要\进行转义 sed '1,3d' sed.txt 删除1~3行 sed '/should/d' sed.txt 删除包含should的行 sed 's/PS/ps/' sed.txt 替换每行第一个单词 sed 's/PS/ps/g' sed.txt 全文替换 sed '1,3 s/should/SHOULD/g' sed.txt 指定行替换 sed '1 s/should/SHOULD/g' sed.txt 指定行范围替换 控制字符输入方式: ^M 1.Ctrl+v 2.M 3.释放Ctrl
awk
有点复杂,这里先不记录了。系统服务
许多运行在后台的应用程序,不是通过命令加上一个&字符,而是通过一个复杂的脚本来管理。脚本最普遍是放在/etc/init.d内。一些Linux发行版本,提供了service脚本,通过它来控制服务。
进程管理
查找pid
ps aux | grep sshd
top 列出当前在系统下运行的所有进程,并列出进程的pid
默认以CPU使用率排序。 这个显示每秒刷新一次,Ctrl+C中断或Q退出。杀进程
kill pidkill -9 pid 强制杀进程
killall httpd 以进程名为参数杀多个进程
本文参考:电子工业出版社《深入浅出Linux工具与编程》
实验楼实验
bannersudo apt-get update sudo apt-get install sysvbanner banner hello
sudo apt-get install toilet toilet Hello World
其它有趣的命令
sl figlet Hello asciiview 以字符显示图形 apt-get install aview
相关文章推荐
- (大数据工程师学习路径)第一步 Linux 基础入门----基本概念及操作
- Linux基础(1):常见操作和基本命令
- Linux学习记录(12)ACL基本概念及基础操作
- Linux基础学习2,Linux基本概念及操作,转载自实验楼
- Linux程序设计学习笔记----多线程编程基础概念与基本操作
- LINUX 学习之基础一 基本命令学习
- Linux入门基础 #3:文件基本操作管理和常用命令
- Unix_Linux学习(3)——纯命令模式下的一些基本操作
- Unix_Linux学习(3)——纯命令模式下的一些基本操作
- Linux多线程基础学习(一)基本概念
- Linux学习日记--基础命令(3)-文件操作,通配符,命令别名
- (大数据工程师学习路径)第一步 Linux 基础入门----目录结构及文件基本操作
- 【linux学习】Linux文本操作命令及正则表达式基础
- 1.Linux基础操作:主题2 Shell的基本概念
- Linux学习笔记:基本概念、常用命令
- linux学习-------->基本操作命令
- linux学习笔记之基础操作及命令
- 零基础学习linux基本命令( 总结篇 )
- Linux入门基础 #1:命令行bash基本操作
- 【学习笔记】Linux基本操作(1)--- 命令行BASH基本操作