前面的话

  本文将详细介绍Linux常见操作

基本概念

  Linux严格区分大小写,所有内容以文件形式保存,包括硬件

  Linux没有扩展名的概念,不靠扩展名来区分文件类型。但有一些约定俗成的扩展名

压缩包: .gz .bz2 .tar.bz2 .tgz
二进制软件包:.rpm
网页文件: .html .php
脚本文件: .sh
配置文件: .conf

  [注意]windows下的程序不能直接在linux中安装和运行

  Linux字符界面的优势如下:

  1、占用的系统资源更少

  2、减少了出错、被攻击的可能性

【分区类型】

  主分区:最多只能有4个

  扩展分区:最多只能有1个,主分区加扩展分区最多有4个,不能写入数据,只能包含逻辑分区

【硬件设置文件名】

硬件  设置文件名
IDE硬盘 /dev/hd[a-d]
SCSI/SATA/USB硬盘 /dev/sd[a-p]
光驱 /dev/cdrom 或/dev/hdc
软盘 /dev/fd[-]
打印机(25针) /dev/1p[-]
打印机(USB) /dev/usb/1p[-]
鼠标 /dev/mouse

【挂载】

必须分区
/ (根分区)
swap分区 (交换分区,内存2倍,不超过2GB) 推荐分区
/boot (启动分区,200MB)

显示

【起始标识】

[root@bogon ~]#

  root表示当前登录用户为管理员

  bogon表示主机名

  ~表示当前所在目录

  #是管理员的提示符

  $是普通用户的提示符

【命令格式】

  当有多个选项时,可以写在一起

  选项包括简化选项与完整选择如-a 等于 --all

命令 [选项] [参数]

  [注意]个别命令使用不遵循此格式

文件

【文件类型】

  Linux包括以下7种文件类型,以文件位第一位来表示文件类型

- 文件
d 目录
l 软链接文件

  除了上面这3种,还有块设备文件、字符设备文件、套接字文件和管道文件。这4种文件都是linux系统中的特殊文件

【文件身份】

  文件位共有10位组成,除了第1位表示文件类型外,后9位每3位为一组,表示文件的所有者、所属组和其他人

【文件权限】

r读
w写
x执行

  下面这个例子中,表示这是一个文件,所有者有读写权限,而所属组和其他人只有读权限

  一般地,用户在自己主目录下拥有写权限,主目录之外只有读权限。如果一定在要不具有写权限的目录下操作文件,如新建文件。则可以使用sudo命令,变身管理员,然后输入管理员的密码来执行这个操作

 sudo touch aaa

【文件信息】

  上面的例子中,两个root之后,分别代码文件大小、文件最后一次修改时间及文件名称

  [注意]linux中文件名以.开头的文件是隐藏文件

【修改文件权限】

  比如,将a.txt文件的权限变更为读写权限

chmod  a.txt

  实际中使用 chmod 命令最多的一种情形可能是给自己写的脚本加一个执行权限

chmod +x a.sh

【常用一级目录作用】

/ 根目录
/bin 存放系统命令
/sbin 存放只有管理员才能执行的系统命令
/usr 系统资源保存目录,包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档
/usr/bin 存放系统命令
/usr/sbin 存放只有管理员才能执行的系统命令
/boot 存放内核以及启动所需的文件等
/dev 存放设备文件
/etc 存放系统的配置文件
/lib 存放函数库
/home 用户文件的主目录,用户数据存放在此目录中
/root 管理员的主目录
/mnt 空目录,存放临时的映射文件系统,常把软驱和光驱挂装在这里的floppy和cdrom子目录下
/media 空目录,存放临时的映射文件系统,老式linux无该目录
/misc 空目录,存放临时的映射文件系统,老式linux无该目录
/proc 不能直接操作,存放存储进程和系统信息
/sys 不能直接操作,存放存储进程和系统信息
/tmp 存放临时文件的目录
/var 包含系统产生的经常变化的文件

关机

关机

【shutdown】

shutdown [选项] 时间
选项:
-c: 取消前一个关机命令
-h: 关机
-r: 重启
shutdown -h now 立刻关机

【其他关机命令】

halt
poweroff
init

【其他重启命令】

reboot
init

【运行级别】

  系统运行级别包括以下7个

 关机
单用户,安全模式
不完全多用户,不含nfs服务
完全多用户
未分配
图形界面
重启
cat /etc/inittab
#修改系统默认运行级别
id::initdefault: runlevel
#查询系统运行级别

登录

【查看登录用户信息】

【退出登录】

logout

【who】

【查询当前登录和过去登录的用户信息】

【查看所有用户的最后一次登录时间】

shell

  shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至是编写一些程序

  shell还是一个功能非常强大的编程语言,易编写,易调试,灵活性较强。shell是解释执行的脚本语言,在shell中可以直接调用linux系统命令

【语法类型】

Bourne Shell:    主文件名为  sh
语法类型:sh、ksh、Bash、psh、zsh
C Shell : 主要在BSD版的Unix系统中使用
语法类型: csh、 tcsh

【查看当前系统的SHELL类型】

【编辑脚本】

vi hellp.sh

【退出脚本】

  在vim中编辑好之后,按esc键,回到一般模式,再输入“:wq”,回车执行

【脚本执行】

  1、赋予执行权限,直接运行

chmod  hello.sh
./hello.sh

  2、或者,可以通过bash调用执行脚本

bash hello.sh

输入输出

【输出重定向】

【输入重定向】

wc [选项] [文件名]
选项:
-c 统计字节数
-w 统计单词数
-l 统计行数

  命令<文件把文件作为命令的输入

  命令<<标识符把标识符之间的内容作为命令的输入

进程管理

  Linux 系统上有一个命令ps用来报告系统当前的进程状态

$ ps aux

  上面指令可以查看系统当前所有进程

$ kill 

  上面指令可以强制关闭进程号为1234的进程

$ bg

  上面指令让程序变成后台执行

$ fg

  上面指令让程序回到前台

磁盘管理

【df】查看磁盘分区使用状况

-I 仅显示本地磁盘(默认)
-a 显示所有文件系统的磁盘使用情况
-h 以1024进制计算最合适的单位显示磁盘容量
-H 以1000进制计算最合适的单位显示磁盘容量(新购买的U盘实际容量小于标识容量,是因为工业生产使用1000进制,而不是1024进制)
-T 显示磁盘分区类型
-t 显示指定类型文件系统的磁盘分区
-x 不显示指定类型文件系统的磁盘分区

【du】统计磁盘上的文件大小

-b 以Byte为单位统计文件
-k 以KB为单位统计文件
-m 以MB为单位统计文件
-h 按照1024进制以最适合的单位统计文件
-H 按照1000进制以最适合的单位统计文件
-s 指定统计目标

【MBR分区】

fdisk -l 查看当前磁盘分区
fdisk /dev/sdb 进入分区模式

  通过下面的命令为磁盘分得一个3GB的主分区

  分配结束后,输入p命令来查看分区信息

  最后输入w来保存并结束当前分区结果

【GPT分区】

  MBR分区的限制在于主分区不超过4个,单个分区容量最大为2TB。而GPT分区最多支持128个分区,单个分区容量最大为18EB

1EB = 1024PB
1PB = 1024TB
1TB = 1024GB

  GPT分区中,不适合安装X86架构的系统,即32位操作系统

  fdisk命令只适合于MBR分区,而parted命令同时适合于MBR分区和GPT分区

  [注意]下面分区从1M开始是为了保持4K对齐

【分区格式化】

  先使用ll /dev/sdb*来查看sdb的分区情况

  使用mkfs命令来进行分区格式化

  [注意]扩展分区不能进行分区格式化

mkfs .ext4 /dev/sdb1

【挂载】

  格式化后的分区必须进行挂载操作,才能使用。一般地,挂载在mnt目录下

  下面代码中,将sdb1挂载到mnt目录下的sdb1目录中

mkdir -p /mnt/sdb1
mount /dev/sdb1 /mnt/sdb1

  通过mount命令挂载的分区不具有永久性,关机后失效。更好的方式是需要编辑etc目录下的fstab文件

vim +  /etc/fstab

  这样一来,即使系统重启,也会进行自动挂载

【swap交换分区】

  在linux中添加swap交换分区的步骤如下

  1、先建立一个linux普通分区 (用MBR建立)输入fdisk /dev/sdb

  2、修改分区类型的16进制:输入t,再输入该硬盘的分区号如6,再输入16进制的编码L。修改编码83,改为82(swap类型)输入w保存退出

  3、格式交换分区 mkswap /dev/sdb6

  4、启动分区 swapon /dev/sdb6

  5、关闭分区 swapoff /dev/sdb6

用户管理

  linux允许多个用户在同一个时间登录同一个操作系统

【group】

/etc/group 存储当前系统中所有的用户组信息
  Group:      x    :   :abc,def,xyz
组名称:组密码占位符:组编号:组中用户名列表

  当用户组名称与用户名相同时,可以省略用户名列表的信息

  组编号0为root,1-499为系统保留组编号,一般用于安装在系统中的软件或服务;用户手动创建的用户组从500开始

【gshadow】

/etc/gshadow 存储当前系统中用户组的密码信息
Group:   *  :       : abc,def,xyz
组名称:组密码:组管理者:组中用户名列表

  该文件中的内容与group里面的内容一一对应

【passwd】

/etc/passwd 存储当前系统中所有用户的信息
 user:     x    :    :      :  xxxxxxx :/home/user:/bin/bash
用户名:密码占位符:用户编号:用户组编号:用户注释信息:用户主目录:shell类型
/etc/shadow存储当前系统中所有用户的密码信息
 user :vf;/Zu8sdf...:::::
用户名: 密码 :::::

  由于系统运行过程中,group和passwd这两个文件经常需要被读取,而密码又属于敏感数据,于是单独设置了gshadow和shadow来保存密码

【基本命令】

groupadd  用户组名 #创建用户组
groupmod -n 新组名 原组名 #修改用户组名
groupmod -g 组编号 组名称 #修改组编号
groupadd -g 组编号 组名称 #创建用户组并指定组编号
groupdel 组名称 #删除用户组 useradd -g 用户组 用户 #向指定用户组中添加用户
useradd -d 文件夹 用户 #创建用户并指定用户的个人文件夹
usermod -c 备注信息 用户 #给用户添加备注信息
usermod -l 新用户 原用户 #修改用户名
usermod -g 目标用户组名 用户 #切换用户组
userdel 用户名 #删除用户
userdel -r 用户名 #删除用户及对应的个人文件夹
touch /etc/nologin #禁止除root外的用户登录服务器
passwd abc #给用户adc设置密码

  [注意]在centos系统下,使用useradd会默认在home目录下,新增一个与用户名同名的目录。如果是ubuntu系统,默认不创建目录,如果需要则添加-m参数

【进阶命令】

passwd -l 用户名 #锁定用户 禁用
passwd -u 用户名 #解锁用户
passwd -d 用户名 #清除用户密码,可以无密码登录

  用户可以同时属于多个组,一个是主要组,其他的为附属组

gpasswd -a 用户名 附属组,附属组,..... #添加附属组

  用户创建的文件默认为主要组;需要以附属组创建文件的,需将身份切换到附属组

newgrp 附属组名称 #切换附属组

  [注意]需要用户登录后,自己执行,切换,组密码是在组切换时用的,如果有,会要求输入组密码

gpasswd -d 用户名 附属组 #删除附属组
useradd -g group1 -G group2,group3,.... #创建用户同时指定主要组和附属组
gpasswd 用户组 #设定组密码

  [注意]输入后回车,会有提示让输入密码

su username #切换当前用户身份,su后不加参数切换到root
sudo su #切换到root用户
whoami #显示当前登录用户名
id 用户名 #显示制定用户信息,包括用户编号,用户名,主要组编号及名称,附属组列表
groups 用户名 #显示用户所在的所有组
chfn 用户名 #设置用户资料
finger 用户名 #显示用户详细资料

端口设置

  查看某个端口被占用情况

lsof -i:

  然后使用kill -9命令来结束进程

kill - 

Linux常见操作的更多相关文章

  1. Linux常见操作指令(转载)

    Linux,免费开源,多用户多任务系统.基于Linux有多个版本的衍生.RedHat.Ubuntu.Debian 安装VMware或VirtualBox虚拟机.具体安装步骤,找百度. 再安装Ubunt ...

  2. Linux 常见操作

    grep -nr SEARCHTERM file1 file2 ...https://www.linuxnix.com/grep-command-usage-linux/ https://www.li ...

  3. linux 常见操作指令

    1.ssh root@ip ssh 登录 2.ll ls 列出当文件夹下 所以文件 3. cd ./xx 进入 xx 文件夹 4. vim vi xxx 进入 xx文件的 编辑模式. i 开始编辑 e ...

  4. Linux常见系统命令与文件操作

    一.Linux常见文件操作 (1)cd /: 在Linux 系统中斜杠“/”表示的是根目录. cd / ,即进入根目录. (2)cd ~命令是,进入用户在该系统的home目录,例如xz用户,则进入/r ...

  5. 2 . Linux常见命令

    Linux常见命令格式: 命令名称 选项 参数 ls -alh 文件/目录 --all #ls 显示当前目录内容 #ls -l 显示文件详细信息 #ls -hl h已常见单位显示文件大小 k M G# ...

  6. Linux常见疑难问答

    Linux常见疑难问答 (1)按a~z顺序排列启动服务进程. #exportLC_ALL=C           #英文环境变量设置,主要用于解决乱码问题 #chkconfig –list | gre ...

  7. Linux 常见的trouble shooting故障排错

    Linux 常见的trouble shooting故障排错 备份开机所必须运行的程序对一个运维人员来说是非常有必要的.在实际生产环境中,系统和数据基本都是安装在不同的硬盘上面,因为企业最关心的还是数据 ...

  8. 嵌入式Linux开发教程:Linux常见命令(上篇)

    摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...

  9. 一个linux常见命令的列表

    这是一个linux常见命令的列表. 那些有• 标记的条目,你可以直接拷贝到终端上而不需要任何修改,因此你最好开一个终端边读边剪切&拷贝. 所有的命令已在Fedora和Ubuntu下做了测试 命 ...

随机推荐

  1. 多线程爬虫爬取详情页HTML

    注意:如果想爬取详情页的信息请按须添加方法 import requests import os import re import threading from lxml import etree #爬 ...

  2. face detection[Face R-CNN]

    face r-cnn是腾讯ai实验室的作品,而且登录过腾讯ai实验室官网,发现果然硕果累累,不得不佩服. 1 引言 人脸检测虽然相对之前有了不小的进步,可是还是因为真实世界中人脸图像的明显变化导致仍然 ...

  3. Jenkins集成openshift容器中进行代码扫描

    1.Dockerfile sonarDockerfile: (基础slave镜像参考上篇博文) FROM registry.it.com/openshift/jenkins-slave:latest ...

  4. 多个jdk 变更 引起 tomcat插件 启动不了 The JRE could not be found.Edit the server and change the JRE location.

    The JRE could not be found.Edit the server and change the JRE location. 在Windows->Preferences-> ...

  5. Python实现将爱词霸每日一句定时推送至微信

    前言 前几天在网上看到一篇文章<教你用微信每天给女票说晚安>,感觉很神奇的样子,随后研究了一下,构思的确是巧妙.好,那就开始动工吧!服务器有了,Python环境有了,IDE打开了...然而 ...

  6. 解决React通过ajax加载数据更新页面不加判断会报错的问题

    通过AJAX加载数据是一个很普遍的场景.在React组件中如何通过AJAX请求来加载数据呢?首先,AJAX请求的源URL应该通过props传入:其次,最好在componentDidMount函数中加载 ...

  7. 用commander.js构建自己的脚手架工具

    随着前端技术的发展,工程化逐渐成为了一种趋势.但在实际开发时,搭建项目是一件很繁琐的事情,尤其是在对一个框架的用法还不熟悉的时候.于是很多框架都自带一套脚手架工具,在初始化前端项目的时候就可以不用自己 ...

  8. 分解质因数FZU - 1075

    题目简述:就是给一个数,把他拆分成多个素数的乘积,这正好是算术基本定理.本题我的解决方法是埃氏素数筛+质因数保存...开始T掉了,是因为我在最后枚举了素数,保存他们的次数,然后两次for去查询他们的次 ...

  9. poj2449 第k短路

    题目链接 学习博客:https://blog.csdn.net/Z_Mendez/article/details/47057461 k短路没有我想象的那么难,还是很容易理解的 求s点到t点的第k短路径 ...

  10. 项目集成自动分词系统ansj,实现自定义词库

    一,分词系统地址:https://github.com/NLPchina/ansj_seg 二,为什么选择ansj? 1.项目需求: 我们平台要做手机售后的舆情分析,即对购买手机的用户的评论进行分析. ...