【Linux】Linux入门及常见基本操作命令详解
本文基于 Red Hat Enterprise Linux 6
一、Linux 入门体验
1.1 root用户登陆
1.2 图形化与纯字符模式切换
init 5 - 图形模式
init 3 - 纯字符模式
1.3 重要热键
Tab —— 自动补全命令
Ctrl+C —— 终止正在运行的程序
Ctrl+d —— 退出字符界面(终端)
1.4 用户和用户组
1.4.1 用户信息存放在 vi /etc/passwd/
1.4.2 用户组—— 访问控制权限
一个用户可以属于不同的组
vi /etc/group/
1.5 文件属性
terminal: ll
eg. - rwx r-x -wx
1.文件类型(1位)
2.文件所有者访问权限(3位)——按位表示,如果不具备则相应位显示-
3.文件所属组用户访问权限(3位)
4.其他用户访问权限(3位)
P.S. "-"普通文件;"x"可执行文件;"d"目录文件
二、Linux 命令详解
2.1 用户管理类命令
useradd [option] username //1.添加用户
userdel [option] [username]//2.删除用户
passwd [option] [username]//3.修改密码
su [option] [username]//4.切换用户
eg. su - root //切换到root用户,并将root用户的环境变量同时带入(option -)
groupadd [option][groupname]//5.添加用户组
groupdel [option][groupname]//6.删除用户组
p.s. 1.clear //清屏
2. /(一个反斜杠表示根目录)
2.2 文件与目录类命令
//1.查看目录(不含隐藏文件)
ls [选项][目录或文件]
ls -a /home // 显示目录下所有文件(含隐藏目录)
ls -l /home // 显示目录下文件的详细信息
//2.跳转工作目录 (Change Directory)
cd 目录名
cd .. //退回到上一级目录
cd - //回到上次访问目录
//3.复制文件/目录(copy)
cp /home/test /temp //将test文件copy到/temp目录下
cp -r /home/dir1 /temp//将dir1目录copy到/temp目录下
//4.移动或更名(move)
mv /home/test /home/test1 //将/home目录下的test文件更名为test1
mv /home/dir1 /temp/ //将dir1 目录移动(剪切)到/temp 目录下
//5.删除文件/目录(remove)
rm /home/test //删除文件
rm -r /home/dir1 //删除目录
//6.改变文件权限 (change mode)
格式: chmod[who][+ |- |= ][mode] 文件名
参数:
/who:
u 表示文件所有者
g 表示与文件所有者同组的用户
o 表示其他用户
a 表示所有用户(default)
/mode:
+ 添加权限
- 取消权限
= 赋予给定权限
chmod u+w hello.c
//7.创建目录 mkdir
//8.查看目录大小
du /temp
//9.查看当前绝对路径
pwd
2.3 压缩打包类命令
//后缀名不同,处理命令不同
*.gz <-> gzip命令压缩的文件
*.bz2 <-> bzip2命令压缩的文件
*.tar <-> tar命令打包的文件
//压缩!=打包
//打包:大小基本不变
*.tar.gz <-> tar 打包后,再经过gzip压缩的文件
*.tar.bz2 <-> tar命令打包后,再经过bzip2压缩的文件
//1.压缩解压 gzip
gzip /root/ks.cfg //压缩 Compression
gzip -d /ks.cfg.gz //解压 Decompression
//2.压缩解压 bzip2
//用法同gzip
bzip2 /root/ks.cfg //压缩 Compression
bzip2 -d /ks.cfg.gz //解压 Decompression
//3.打包压缩 tar
//c表示打包,v表示输出整个过程的详细信息,f表示 后面要跟上输出文件名称,cv顺序可变,f一般放最后
tar cvf tmp.tar /tmp //将tmp目录打包成 tmp.tar文件
tar xvf tmp.tar //将打包文件.tar解开
tar cvzf tmp.tar.gz /tmp //将tmp目录打包为一个 *.tar.gz文件
tar xvzf tmp.tar.gz //将打包文件*.tar.gz解开
//相关选项参数[option]
//区分大小写
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有那些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
2.4 磁盘管理类命令
//1.加载U盘or光盘
mount [option] 设备名 挂载目录
mount /dev/cdrom /mnt
//2.卸载光盘
umount 挂载目录 //前提为退出挂载目录
//3.查看磁盘使用情况 df
df -hl
//4.创建新文件
touch 文件名
//5.文件链接 ln
//类比windows 快捷方式.lnk
ln oldfile hlink //为oldfile文件创建硬链接
ln -s oldfile slink //为oldfile文件创建软链接
P.S. 软硬链接区别
1.Linux链接概念
Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
【软连接】
另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
example:常规删除文件后,软连接失效,硬连接仍可访问原文件
2.5 查找类命令
//1. 查找文件or 目录
find 查找路径 -name 文件名
find /root/ -name install.log //查找是否存在
//2. 查找字符串(部分文件名)
//正则表达式查找
//grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
grep "字符串" 路径 [option]
grep "hello" ./ -rn //当前路径下查找包含字符串hello的文件
grep "he*" ./ -rn //当前路径下查找字符串hello开头的文件
2.6 进程管理类命令
//1.查看进程
ps [选项]
ps aux
//2.杀死进程 kill
kill 进程ID
//3.查看内存
free
//4.CPU占有率
top
2.7 杂项命令
//1.软件管理
rpm[option][软件包]
rpm -ivh i686.rpm //install
rpm -qa //查看系统中安装的所有软件包
rpm -e i686 //uninstall,无后缀
//2.管道操作
命令1 | 命令2
rpm -qa|grep tar //分步执行,命令1的输出作为命令2的输入
//查询所有安装包 ,并筛选出含有字符串tar的
//3.查看帮助!!!
//系统文档是最好的学习工具!
man 命令名
man find //查看命令用法
//4.关机
shutdown [option] time
shutdown now
【Linux】Linux入门及常见基本操作命令详解的更多相关文章
- Linux操作系统的安装以及基本的操作命令详解
背景:使用的虚拟机安装Linux 虚拟机使用的是VMware Linux版本:CentOS-6.7-X86 自行下载:CentOS-6.7-x86_64-bin-DVD1.iso 打开VMw ...
- Linux下文件和文件夹操作命令详解
花了两个小时的时间,把文件和文件夹相关的常用命令:创建.删除.移动.复制.查找.重命名在linux上测试了一把,总结下来.文件夹的这些基本操作是要多注意的,一不小心就达不到你想要的效果. 文件夹操作: ...
- linux系统的任务计划crontab使用详解
linux系统的任务计划crontab使用详解 其实大部分系统管理工作都是通过定期自动执行某一个脚本来完成的,那么如何定期执行某一个脚本呢?这就要借助linux的cron功能了. 关于cron任务计划 ...
- 轻松学习Linux之Shell文件和目录属性详解
轻松学习Linux之Shell文件和目录属性详解 轻松学习Linux之理解Sitcky 轻松学习Linux之理解umask 轻松学习Linux之理解SUID&SGUID 本系列多媒体教程已完成 ...
- Linux中用postfix搭建邮件服务器实战详解
Linux中用postfix搭建邮件服务器实战详解 postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.Postfix试图更快.更容易管理.更安全,同时 ...
- Linux(centos)系统各个目录的作用详解
Linux(centos)系统各个目录的作用详解 文件系统的类型 LINUX有四种基本文件系统类型:普通文件.目录文件.连接文件和特殊文件,可用file命令来识别. 普通文件:如文本文件.C语言元代码 ...
- linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)
linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...
- Linux进程实时IO监控iotop命令详解
介绍 Linux下的IO统计工具如iostat, nmon等大多数是只能统计到per设备的读写情况, 如果你想知道每个进程是如何使用IO的就比较麻烦. iotop 是一个用来监视磁盘 I/O 使用状况 ...
- Linux服务器,服务管理--systemctl命令详解,设置开机自启动
Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...
随机推荐
- ubuntu下QtCreator启动无响应问题解决
打开Qt后就卡死. 解决方法:删除系统配置目录下的QtProject文件夹: find / -name QtProject 输出: /root/.config/QtProject 删除QtProjec ...
- 在文件夹快速启动cmd或powershell
进入指定目录下的几种方法:一般方法 使用win+R的组合键进入运行窗口运行窗口输入cmd进入命令行,使用 ”cd 文件路径“进入指定的文件夹下.cd 命令的基本操作如下: 任意目录下跳转至当前驱动器的 ...
- git 各个区的区别
Git有三大区(工作区.暂存区.版本库)以及几个状态(untracked.unstaged.uncommited) 把文件往Git版本库里添加的时候,是分两步执行的: 第一步是用 git add 把文 ...
- [原创]在Centos7上搭建私有的Gitlab服务器
前言 Git作为后起之秀,在版本控制领域占据了头把交椅.Github作为托管式的代码仓库,从代码安全性和网络传输等各个方面考虑,对于个人和公司来讲,具有一定的局限性.Gitlab提供的不同版本的安装包 ...
- bzoj4548: 小奇的糖果 题解
题目链接 题解 不包含所有颜色 就强制不选一个颜色 图中圆点颜色相同 矩形越大,包括的点一定不比其一小部分少 如图所示,最大矩形只有3种 离散化\(x\)坐标 然后按\(y\)排序 每次取出颜色的前驱 ...
- apache 2.4 访问权限配置
在apache 2.4里,访问权限配置与2.2不同,如果设置不对,则会报403错误,日志中会报 AH01630: client denied by server configuration. [S ...
- MariaDB 密码,新用户添加
修改root密码1.以root身份在终端登陆(必须)2.输入 mysqladmin -u root -p password ex后面的 ex 是要设置的密码3.回车后出现 Enter password ...
- Oracle PL/SQL之WITH查询
[转自] http://blog.csdn.net/t0nsha/article/details/6730855 为什么要用WITH? 1. 如果需要在一段复杂查询里多次应用同一个查询,用WITH可实 ...
- hdu1022 模拟栈
Train Problem I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- Trie - 20181113
442. Implement Trie (Prefix Tree) class TrieNode { public boolean isWord; public TrieNode[] children ...