首页 > 系统相关 >Linux操作系统的安装和配置

Linux操作系统的安装和配置

时间:2024-08-13 21:52:07浏览次数:17  
标签:function 文件 操作系统 echo 命令 && Linux 安装

一、Linux的安装与常用命令

1.安装VMware;     

2.使用VMware安装配置Linux;

3.实现要求的shell函数

# hello函数,输入参数个数为0, 输出hello, world! 到标准输出。
function hello() {
    echo "hello, world!"
}
# tell_who_i_am函数,输入参数个数为0,输出当前用户的账号到标准输出
function tell_who_i_am() {
echo $(whoami)
}

# which_distro_do_i_use函数,输入参数个数为0,输出当前Linux系统的发行版名字到标准输出,输出类容类似 NAME=”Beta Linux”
function which_distro_do_i_use() {
    cat /etc/os-release | grep ^NAME
}

# view_my_cpu_arch函数,输入参数个数为0,输出当前Linux系统所用的CPU的结构:x86_64或者x86_32到标准输出
function view_my_cpu_arch() {
    uname -m
}

# show_first_scsi_disk_size函数,输入参数个数为0,输出当前Linux系统所用的第一块scsi硬盘的以GB为单位的尺寸数字(仅含数字)到标准输出,比如400。
function show_first_scsi_disk_size() {
    lsblk -l | \grep disk | \grep '^sda ' |awk '{print $4}'
}

# show_main_memory_size_in_megabytes函数,输入参数个数为0,输出当前Linux系统的以MB为单位的内存尺寸数字(仅含数字)到标准输出
function show_main_memory_size_in_megabytes() {
    free -m |grep "Mem:" |awk '{print $2}'
}

 

4.Linux常见命令

命令

功能说明

线上查询及帮助命令 (2 个)

man

查看命令帮助,命令的词典,更复杂的还有 info,但不常用。

help

查看 Linux 内置命令的帮助,比如 cd 命令。

文件和目录操作命令 (18 个)

ls

全拼 list,功能是列出目录的内容及其内容属性信息。

cd

全拼 change directory,功能是从当前工作目录切换到指定的工作目录。

cp

全拼 copy,其功能为复制文件或目录。

find

查找的意思,用于查找目录及目录下的文件。

mkdir

全拼 make directories,其功能是创建目录。

mv

全拼 move,其功能是移动或重命名文件。

pwd

全拼 print working directory,其功能是显示当前工作目录的绝对路径。

rename

用于重命名文件。

rm

全拼 remove,其功能是删除一个或多个文件或目录。

rmdir

全拼 remove empty directories,功能是删除空目录。

touch

创建新的空文件,改变已有文件的时间戳属性。

tree

功能是以树形结构显示目录下的内容。

basename

显示文件名或目录名。

dirname

显示文件或目录路径。

chattr

改变文件的扩展属性。

lsattr

查看文件扩展属性。

file

显示文件的类型。

md5sum

计算和校验文件的 MD5 值。

查看文件及内容处理命令(21 个)

cat

全拼 concatenate,功能是用于连接多个文件并且打印到屏幕输出或重定向到指定文件中。

tac

  tac 是 cat 的反向拼写,因此命令的功能为反向显示文件内容。

more

分页显示文件内容。

less

分页显示文件内容,more 命令的相反用法。

head

显示文件内容的头部。

tai

l显示文件内容的尾部。

cut

将文件的每一行按指定分隔符分割并输出。

split

分割文件为不同的小片段。

paste

按行合并文件内容。

sort

对文件的文本内容排序。

uniq

去除重复行。oldboy

wc

统计文件的行数、单词数或字节数。

iconv

转换文件的编码格式。

dos2unix

将 DOS 格式文件转换成 UNIX 格式。

diff

全拼 difference,比较文件的差异,常用于文本文件。

vimdiff

命令行可视化文件比较工具,常用于文本文件。

rev

反向输出文件内容。

grep/egrep

过滤字符串,三剑客老三。

join

按两个文件的相同字段合并。

tr

替换或删除字符。

vi/vim

命令行文本编辑器。

文件压缩及解压缩命令(4 个)

tar

打包压缩。oldboy

unzip

解压文件。

gzip

 gzip 压缩工具。

zip

压缩工具。

信息显示命令(11 个)

uname

显示操作系统相关信息的命令。

hostname

显示或者设置当前系统的主机名。

dmesg

显示开机信息,用于诊断系统故障。

uptime

显示系统运行时间及负载。

stat

显示文件或文件系统的状态。

du

计算磁盘空间使用情况。

df

报告文件系统磁盘空间的使用情况。

top

实时显示系统资源使用情况。

free

查看系统内存。

date

显示与设置系统时间。

cal

查看日历等时间信息。

搜索文件命令(4 个)

which

查找二进制命令,按环境变量 PATH 路径查找。

find

从磁盘遍历查找文件或目录。

whereis

查找二进制命令,按环境变量 PATH 路径查找。

locate

从数据库 (var/lib/mlocate/mlocate.db) 查找命令,使用 updatedb 更新库。

用户管理命令(10 个)

useradd

添加用户。

usermod

修改系统已经存在的用户属性。

userdel

删除用户。

groupadd

添加用户组。

passwd

修改用户密码。

chage

修改用户密码有效期限。

id

查看用户的 uid,gid 及归属的用户组。

su

切换用户身份。

visudo

编辑  etc/sudoers 文件的专属命令。

sudo

以另外一个用户身份(默认 root 用户)执行事先在 sudoers 文件允许的命令。

基础网络操作命令(11 个)

telnet

使用 TELNET 协议远程登录。

ssh

使用 SSH 加密协议远程登录。

scp

全拼 secure copy,用于不同主机之间复制文件。

wget

命令行下载文件。

ping

测试主机之间网络的连通性。

route

显示和设置 linux 系统的路由表。

ifconfig

查看、配置、启用或禁用网络接口的命令。

ifup

启动网卡。

ifdown

关闭网卡。

netstat

查看网络状态。

ss

查看网络状态。

function s1_goto_dir() {
cd $1
}

function s2_touch_empty_file_with_given_name(){
touch $1
}

function s3_make_directories(){
mkdir projects && mkdir projects/git projects/backup
}

function s4_create_6_files(){
cd projects && touch network_security{201,202}_{centos,redhat,c_programming}
}

function s5_make_directories_in_git(){
mkdir projects/git/network_security201 projects/git/network_security202
}

function s6_move_files_to_dir_201_or_202(){
cd projects && mv -t git/network_security201 network_security201_{centos,redhat,c_programming} && mv -t git/network_security202 network_security202_{centos,redhat,c_programming}
}

function s7_create_package_and_compress(){
cd projects && tar -czvf backup/git.tar.gz git
}

function s8_delete_dir_git(){
rm -rf projects/git
}

function s9_recover_from_git_tar_gz_backup(){
cd projects && tar -zxvf backup/git.tar.gz 
}

function s10_create_package_and_compress(){
cd projects && tar -jcvf backup/git.tar.bz2 git
}

function s11_find_and_sort_alphabetically_all_created_files_and_dirs(){
find ./projects |sort
}

function s12_get_next_15_minutes_boundary(){
date +'%Y-%m-%d_%H:%M:%S' -d @$(( $(date +%s)/900*900+900 ))
}

 

5.Linux常见功能管理

function s1_generate_a_series_of_files() {
	 for i in {1..100};do echo $i>/tmp/new_file$i; done
}

function s2_list_4_files_in_long_format_about_account_and_group() {
	 ls -l /etc/passwd /etc/shadow /etc/group /etc/gshadow|sort -d
}

function s3_find_items_related_to_given_username() {
	grep -h $1 /etc/passwd /etc/shadow|sort -d
}

function s4_find_items_related_to_given_group_name() {
	grep -h $1 /etc/group /etc/gshadow|sort -d 
}

function s5_create_groups_for_given_group_names() {
	groupadd rnd&&groupadd itoperation
}

function s6_create_users_and_set_their_group_as_required() {
	useradd -G rnd adam && useradd -G rnd bob && useradd -G itoperation calvin && useradd -G itoperation david && useradd -G rnd edward
}

function s7_change_users_shell() {
	usermod -s /usr/bin/sh adam && usermod -s /usr/bin/sh edward
}

function s8_set_password_change_policy() {
	passwd -n 10 -x 60 -w 10 adam && passwd -n 10 -x 60 -w 10 bob && passwd -n 10 -x 60 -w 10 david && passwd -n 10 -x 60 -w 10 calvin && passwd -n 10 -x 60 -w 10 edward
}

function s9_set_password_for_five_users() {
usernames=(adam bob calvin david edward)
for i in $(seq 1 5);do echo ${!i};echo $(( $i-1 ));done
echo "${usernames[0]}:$1" | chpasswd
echo "${usernames[1]}:$2" | chpasswd
echo "${usernames[2]}:$3" | chpasswd
echo "${usernames[3]}:$4" | chpasswd
echo "${usernames[$(( $i-1 ))]}:$5" | chpasswd
}

function s10_lock_bobs_password() {
	usermod -L bob 
}
function s11_include_adam_into_wheel_group() {
	usermod -a -G wheel adam
}
function s12_change_files_permission() {
	for i in {1..33};do chmod -R 640 /tmp/new_file$[3*i]; done
}

 

6.Linux常用系统维护功能

function s1_read_last_two_bytes_of_a_mbr_backup_file(){
    if [ "$(xxd -s -2 $1|awk '{print $2}')" = '55aa' ];then
        echo "YES"
    else
        echo "NO"
    fi
}

function s2_read_mbr_partition_table_info(){
for pos in 0x01c6 0x01d6;do
    start=$(echo "ibase=16, $(xxd -e -s $pos -l 4 $1 | awk '{print $2}' | tr '[a-z]' '[A-Z]')" | bc)
    len=$(echo "ibase16; $(xxd -e -s $(( $pos+4 )) -l 4 $1 | awk '{print $2}' | tr '[a-z]' '[A-Z]')" | bc)
    if [ "$len" != "0" ]; then
        echo $start $(( $start+$len-1 ))
    fi
done
}

function s3_parse_partition_info(){
echo 2
}

function s4_run_passwd_as_plain_user_and_get_status_test(){
a=$(which oversleeping)
chown root $a | chmod 755 $a | chmod u+s $a | $($a)

ps -o uid,euid,ruid -C oversleeping |tail -n 1 | awk 'BEGIN{OFS=","} {print $1,$2,$3}'
}

function s5_add_a_scheduled_task(){
echo 'echo $(date + "%Y%m%d_%H%M%S") >> /$HOME/test_crontab' > /$HOME/crontab.sh
echo "*/5 * * * * /$HOME/crontab.sh" > /etc/crontab
}

二、思考题

1.Vmware提供了多少种网络连接?

VMware提供的网络连接有五种

2.本实验中用到的linux命令和windows中的操作有哪些相似之处?

Linux 命令窗口叫shell 是Linux 操作系统的核心,具备linux 操作系统,对linux来说图形窗口只是一个工具,只具备日常使用,对服务器领域来说,很多功能不能实现。

Windows命令窗口时原dos操作系统只支持部分dos 命令(外部命令,具备很少的功能)。Windows操作系统内核已经全部起用图形化界面。在图形化界面中可以完成全部的操作。

3.本实验中用到的linux命令和windows中的操作有哪些相似之处?

Linux 命令窗口叫shell 是Linux 操作系统的核心,具备linux 操作系统,对linux来说图形窗口只是一个工具,只具备日常使用,对服务器领域来说,很多功能不能实现。

Windows命令窗口时原dos操作系统只支持部分dos 命令(外部命令,具备很少的功能)。Windows操作系统内核已经全部起用图形化界面。在图形化界面中可以完成全部的操作。

4.Crondwindows操作系统里的对等服务叫什么?

crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。Linux下的任务调度分为两类,系统任务调度和用户任务调度。

标签:function,文件,操作系统,echo,命令,&&,Linux,安装
From: https://blog.csdn.net/qq_67812668/article/details/141159585

相关文章

  • Linux系统五大资源常用命令(大全)
    系统五大资源常用命令Linux系统五大资源(CPU、内存、磁盘、网络、进程)的常用查询或管理命令,指令列表:资源查询或管理命令说明CPUtop实时显示各进程的CPU和内存使用情况。htop更友好的top替代工具,图形化显示CPU使用情况。mpstat显示每个CPU的使用情况,常用于多核系统。lscpu......
  • Linux下截图并识别文字
    1.安装tesseract-ocr软件:sudoapt-yinstalltesseract-ocr2.安装全部语言:sudoapt-yinstalltesseract-ocr-all3.安装gImageReader软件:sudoapt-yinstallgimagereader4.安装ksnip:sudoapt-yinstallksnip5.截屏,运行ksnip,在系统任务栏上显示“K”字样的图标。设置......
  • git 的安装和配置
    一、下载和安装访问Git--distributed-even-if-your-workflow-isnt获取安装包进行下载。下载直接,如果是windows系统,且下载的是msi版本,则直接双击安装即可。如果是windows系统,且下载的是zip版本,则解压后放于任一目录下,将该目录配置进环境变量即可。windows配置git......
  • nvm安装和闭坑指南
    安装之前需要做的事情:卸载本地node,不然会有莫名奇妙的问题下载链接https://github.com/coreybutler/nvm-windows/releases 选择nvm-setup.zip 解压文件并安装nvm-setup.exe,安装过程会指定安装目录,按需选择即可。nvm/settings.txt文件需要添加以下配置:#配置node镜像:node......
  • 微软NET FrameWork离线运行库+离线安装包合集,一键安装版 微软.NET离线运行库合集2024
     微软.NET离线运行库合集2024最新版是一款专为便捷、高效地管理.NET运行库而设计的工具。这款软件集成了各种版本的.NET运行库,并提供了离线安装的功能,使用户能够在没有网络连接的情况下轻松地安装所需的运行库。该软件的出现极大地简化了.NET开发环境的配置和维护过程。用户可......
  • centos7配置yum源 安装 docker 安装Docker Compose 安装Python 3.7并汉化 (python可不
    安装一个软件确认无误就执行备份,在关键步骤之前一定做好备份以防止重来,造成时间的大量浪费注意有时因各自网络环境原因,wget显示拒绝连接,要么等五分钟再试要么就把网址粘贴到百度去下载相对应的安装包,通过ftp,xftp等拷贝到虚拟机中。若有问题欢迎评论留言,我会尝试解决。现......
  • 安装Toolkits,使用prefetch下载SRA数据库
    准备安装Toolkits建议conda安装,命令如下。(兼容性还行,没必要新建环境)condainstall-cbiocondasra-tools注意:使用时记得先激活conda环境。直接安装,请参考:SRAToolKit(sra-tools)的安装和使用配置prefetch下载路径prefetch的默认目录是配置Toolkits的路径,非常建议更......
  • arch linux 安装Budgie桌面
    Budgie具体请查看官网:https://wiki.archlinuxcn.org/wiki/Budgie在ArchLinux上安装Budgie桌面环境的步骤如下:首先,确保你的系统是最新的。打开终端并运行以下命令进行系统更新:sudopacman-Syu更新完成后,重启你的系统以应用更新:sudoreboot接下来,你可以从ArchLi......
  • Linux驱动开发基础(LED驱动)
    所学来自百问网目录1.LED原理2.普适的GPIO引脚操作方法2.1GPIO模块的一般结构2.2GPIO框图2.3寄存器的操作2.3.1一般的操作方式2.3.2高效的操作方式3.基于IMX6UL_6ULL的GPIO操作方法3.1GPIO框图3.2CCM3.3IOMUXC3.4GPIO模块内部3.5读写GPIO4.LED驱......
  • RK3399 Android8.1静默安装APK
    在RK3399Android8.1上面,实现APK静默安装功能,下面是我们的测试验试过程:1.在RK3399Android8.1源码目录下生成系统签名KEY:  进入build/target/product/security目录:cdbuild/target/product/security  创建build_system_jks2.sh文件,内容如下:#!/bin/bashecho"生......