Linux入门级新手命令的一些常见用法

发布时间:2020-06-13 19:36:45 作者:pacific_
来源:网络 阅读:170

Linux入门级新手命令的一些常见用法

1.系统时钟自动同步到NTP服务器

使用timedatectl同步系统时钟:#timedatectl set-ntp true

前提要在系统上安装NTP,检查是否安装NTP相关包:#rpm -qa|grep ntp

要检查服务状态,使用#timedatectl status

查看所有可用时区:# timedatectl list-timezones

Linux入门级新手命令的一些常见用法

设置本地时区(例如Asia/Shanghai):# timedatectl set-timezone "Asia/Shanghai"

设置时间和日期:# timedatectl set-time “18:50:21 2019-11-05”

设置时间:# timedatectl set-time 18:50:21

设置日期:# timedatectl set-time 20191105


2.修改主机名

临时修改:#sudo hostname 新主机名

永久修改:#sudo hostnamectl set-hostname 新主机名

查看主机名:hostname 或hostnamectl

查看FQDN名称:hostname -f

查看主机IP地址:hostname -i


3.查看进程和端口

查看sshd进程:#ps -ef|grep sshd

查看sshd端口:#netstat -lntup|grep ssh

或者 #ss |grep ssh


4.挂载文件系统

查看已挂载磁盘:#df -h

查看块状设备信息:#lsblk

下面以挂接U盘为例:插入U盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

创建挂载点:#mkdir -p /mnt/usb

挂载usb(以磁盘分区sdd1为例):#monut /dev/sdd1 /mnt/usb

只读模式挂载:#monut -o ro /dev/sdd1 /mnt/usb

查看文件内容:#ll /mnt/usb

卸载文件系统(要先退出挂载目录):#umonut /mnt/usb

若想实现开机自动挂载某设备,只要修改/etc/fstab文件即可。

例如:如果想将文件系统为ext4的硬件设备/dev/sdb2在开机后自动挂载到/backup目录上,并保持默认权限且无需开机自检,就需要修改/etc/fstab文件写入:

Linux入门级新手命令的一些常见用法


5.软件的安装

a.源码包方式(一般把源码放在/usr/local/src目录下)

解压源码包:#tar -zxvf *.tar.gz

然后切换到源码文件夹,顺序:配置-编译-安装

配置,并指定安装目录(这里以ucurses为例):# ./configure --prefix=/usr/local/ncurses

编译:#make

安装:#make install


b.二进制包方式(rpm)

查询某个已安装软件:#rpm -qa|grep 关键词

卸载软件:#rpm -e 关键词 [--nodeps]

安装软件:#rpm -ivh 完整名称

升级软件:#rpm -Uvh 完整名称

查询软件:#rpm -qf 文件路径 【查询指定文件属于哪个包】


c.yum方式安装

列出当前已安装和可安装的软件:#yum list [installed]

搜索指定的关键词的包:#yum search 关键词       

安装指定的包:#yum [-y] install 包名

更新指定的包,不指定包则更新全部软件:#yum [-y] update 包名

卸载指定的包:#yum [-y] remove  包名


6.查看系统信息

uname -m 显示机器的处理器架构

uname -r 显示正在使用的内核版本

cat /proc/version 显示详细内核版本 或者uname -a 

cat /proc/meminfo 校验内存使用 

cat /proc/cpuinfo  查看CPU信息

cat /proc/swaps 显示哪些swap被使用

date 显示系统时间日期

free -m 查看内存使用量和交换区使用量 

df -h 查看各分区使用情况

fdisk -l 查看所有分区 

systemctl list-unit-files  列出所有系统服务

ifconfig 查看所有网络接口的属性 

iptables -L 查看防火墙设置 

route -n 查看路由表 

netstat -lntp 查看所有监听端口 

netstat -antp 查看所有已经建立的连接 

netstat -s 查看网络统计信息进程 

ps -ef 查看所有进程 

top 实时显示进程状态用户 

w 查看活动用户 

id <用户名> 查看指定用户信息 

last 查看用户登录日志 

cut -d: -f1 /etc/passwd 查看系统所有用户 

cut -d: -f1 /etc/group 查看系统所有组 

crontab -l 查看当前用户的计划任务服务 


查看内存大小:cat /proc/meminfo |grep MemTotal

查看硬盘大小:fdisk -l |grep Disk

查看内存使用量和交换区使用量:free -m


7.用户管理(root权限下执行)

useradd user1 创建一个新用户

useradd -c "备注内容 " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户,并指定家目录和shell

userdel -r user1 删除一个用户 (-r并删除用户家目录)

usermod -c "备注内容" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性

passwd 修改当前用户密码 

passwd user1 修改指定用户密码

groupadd group_name 新建一个用户组 

groupdel group_name 删除一个用户组 

groupmod -n new_group_name old_group_name 重命名一个用户组


8.文件权限管理(root用户或文件所有者才可执行)

ll 或ls -l   显示文件权限

ls -m   水平输出文件列表

chmod -R ugo+rwx directory1  设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 

chmod -R go-rwx directory1  删除群组(g)与其他人(o)对目录的读写执行权限 

chown user1 file1  改变一个文件的所有人属性 

chown user1:group1 file1  改变一个文件的所有人和群组属性

chown -R user1 directory1  改变一个目录的所有人属性并同时改变改目录下所有文件的属性 

chgrp group1 file1  改变文件的群组 

chgrp -R group1 /usr/dir 将/usr/dir及其子目录下所有文件的用户组改为group1


权限范围的表示法如下:

u User,即文件或目录的拥有者;

g Group,即文件或目录的所属群组;

o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;

a All,即全部的用户,包含拥有者,所属群组以及其他用户;

r 读取权限,数字代号为“4”;

w 写入权限,数字代号为“2”;

x 执行或切换权限,数字代号为“1”;

- 不具任何权限,数字代号为“0”;

s 特殊功能说明:变更文件或目录的权限。

 

注意:在Linux中,如果要删除一个文件,不是看文件有没有对应的权限,而是看文件所在的目录是否有写权限,如果有才可以删除。


9.文件搜索

1) find 用来在指定目录下查找文件(占用资源大,应尽量缩小搜索范围)

按文件名称搜索:

find /etc -name init 精准搜索,必须为init才能搜索的到

find /etc -iname init 必须为init或有字母大写也能搜索到

find /etc -name *init 模糊搜索,以init结尾的文件或目录名

find /etc -name init???模糊搜索 ?表示单个字符

根据文件类型查找:f表示文件,d表示目录,l表示软链接

find /home -type d  查找/home目录下文件类型是目录的


2) locate 用来在文件资料库中查找文件

新建文件需要命令updatedb 手动更新资料库才能用locate搜到,另外/tmp目录不属于文件资料库的收录范围。

locate -i 不区分大小写搜索


3)which 用来搜索命令所在的目录及别名信息

which【命令】

例如:which grep


4) whereis 用来搜索命令所在的目录及帮助文档路径

whereis【命令】

例如:whereis ls


5) grep 用来在文件中搜寻字符串匹配的行并输出

grep 关键词 文件路径

-i 不区分大小写

-v 反向搜索,即排除指定字符串

-m 只显示全字符合的列,即精确搜索

例如:grep mysql /root/install.log


10.查看文件内容

cat file1 正向查看文件的内容 

tac file1 反向查看文件的内容 

more file1 查看一个长文件的内容 

less file1 与more类似,不同的是允许用户向前或向后浏览文件

head -n2 file1 查看一个文件的前两行,-n可省略

tail -2 file1 查看一个文件的最后两行 

tail -f /var/log/messages 实时查看被添加到一个文件中的内容 


11.文本处理

1)cut 列截取工具。用于列的截取

-c 以字符为单位进行分割,截取

    例:cut  -c1-5 passwd   截取第一到第五个字符。 

       cut -c10- passwd 从第十个字符开始往后全部截取

-d    自定义分隔符,默认为制表符\t

-f    与-d一起使用,指定截取那哪个区域

    例: cut -d: -f1,3 passwd  以:分割截取第一和第三列

    

2)sort 将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

-t 分隔符, 类似cut  -d

-k 第N列, 类似cut -f 

-o 将排序结果输出到文件中,类似重定向符号>

-n 以数字排序,默认是按字符排序

-r 降序排列,默认是升序

-u 去除重复行,类似uniq

-R 随机排序,每次运行的结果都不同

例如:#sort -nrk 3 -t: test.txt


3)uniq  用于去除连续的重复行

  -i  忽略大小写

  -c  统计重复行次数

  -d  只显示重复行


4)tee  用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。例

ls -l | tee file.txt | less

并输出file.txt内容


-a 向文件中重定向时使用追加模式


5)diff  用于逐行比较文件的不同

语法:diff [选项]  文件1  文件2

-c  上下文格式显示

-u  合并格式显示

-q或--brief:仅显示有无差异,不显示详细的信息;


注意:diff描述两个文件不同的方式 是告诉我们怎样改变第一个文件之后与第二个文件匹配。


有时候我们需要以一个文件为标准,去修改其他的文件,并且修改的地方较多时,我们可以通过打补丁的方式完成。

第一步,先找出文件的不同,然后输出到一个文件

      # diff -uN file1 file2 > file.patch

      -N 表示将不存在的文件当做空文件

第二步,将不同内容补丁到文件

      # patch file1 file.patch

第三步,测试验证

      #diff file1 file2

      

6)paste  用于将多个文件按照列队列进行合并。

paste file1 file2 file3

-d  自定义间隔符,默认是tab

-s  串行处理,非并行


小技巧:通过重定向到空来清空文件内容,例如#>access.log


7)tr   用于字符转换,替换和删除,主要用于删除文件中控制字符或进行字符转换

用法1:命令的执行结果交给tr处理,其中string1用于查询,string2用于转换处理

  # commands | tr ‘string1’ ‘string2’

用法2:tr处理的内容来自文件,记住要使用“<”  标准输入

  # tr ‘string1’ ‘string2’ < filename

用法3: 匹配sting1进行相应操作,如删除操作

  # tr options ‘string1’ < filename

         -d  表示删除字符串1中所有输入字符

         -s  表示删除重复出现字符序列,只保留一个,即将重复出现字符串压缩为一个字符串。

例:

将输入字符由大写转换为小写:

  #echo "HELLO WORLD" | tr 'A-Z' 'a-z'

使用tr删除字符:

  #echo "hello 123 world 456" | tr -d '0-9'

将制表符转换为空格:

  #cat text | tr '\t' ' '



12.文件和目录操作

cd /home 进入home目录'

./表示当前目录 

cd .. 返回上一级目录 

cd ../.. 返回上两级目录 

cd 进入当前用户的家目录 

cd ~user1 进入指定用户的家目录 

cd - 返回上次所在的目录 

pwd 显示当前工作路径


ls 用来显示目标列表

ls -d 仅显示目录名,而不显示目录下的内容列表

ls -a 显示隐藏文件

ls -l 或ll 所有输出信息用单列格式输出

ls -F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;

tree 显示文件和目录由根目录开始的树形结构(可能需安装tree命令)

mkdir dir1 创建一个叫做dir1的目录' 

mkdir dir1 dir2 同时创建dir1 dir2两个目录 

mkdir -p /tmp/dir1/dir2 递归创建dir1 dir2目录


rm -f file1 强制删除文件file1 

rm -rf dir1 删除目录dir1及其子内容 

rm -rf dir1 dir2 同时删除两个目录及其子内容 

mv dir1 new_dir 重命名/移动,将dir1重命名为new_dir


cp file1 file2 复制一个文件(一般不建议更名) 

cp dir/* ./ 复制一个目录下的所有文件到当前工作目录 

cp -a /tmp/dir1 ./ 复制一个目录到当前工作目录 

cp -a dir1 dir2 复制一个目录


ln -s file1 lnk1 创建一个指向文件或目录的软链接

touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm) 

touch file1 新建一个文件


13.系统关机/重启/注销

shutdown -h now 立即关机

poweroff 关机

init 0 关闭系统

init 3 切换到命令行界面

init 5 切换到图形界面

shutdown -r now 重启

reboot 重启

logout 注销 


例:指定5分钟后关机

 # shutdown +5 “System will shutdown after 5 minutes” //5分钟后关机并显示警告信息

shutdown -c 取消按预定时间关闭系统 


一些常用快捷键:

tab键:补全命令

Ctrl+L :清屏,与clear命令一样

Ctrl+u:删除光标前所有内容

Ctrl+k:删除光标往后所有内容

Ctrl+r:查找历史命令(history)

Ctrl+c: 终止进程

!命令 :执行最近的一次指定命令

!! :执行上一个命令

方向键上下键↑↓:调出历史命令


推荐阅读:
  1. 新手干货:网站建设中常见的一些问题
  2. Linux笔记4 新手必须掌握的Linux命令

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux linux命令 linux新手

上一篇:Web Service 实例

下一篇:降低20%成本,国内首个GPU可用区上线

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》