
Razzshell เป็นเชลล์ Unix ที่กำหนดเองที่เขียนใน C ออกแบบมาเพื่อให้อินเทอร์เฟซบรรทัดคำสั่งที่ไม่ซ้ำกันและใช้งานง่าย มันมีความหลากหลายของคำสั่งในตัว, เอาต์พุตที่มีสีสัน, นามแฝงคำสั่ง, การสนับสนุนตัวแปรสภาพแวดล้อมและความสามารถในการเรียกใช้โปรแกรมภายนอกอย่างราบรื่น Razzshell มีจุดมุ่งหมายเพื่อรวมฟังก์ชั่นของเปลือกหอยแบบดั้งเดิมเข้ากับคุณสมบัติที่กำหนดเองเพื่อเพิ่มประสบการณ์ผู้ใช้
คุณสมบัติ
ความแตกต่างระหว่าง Razzshell และเปลือกหอยอื่น ๆ
แผนที่โครงสร้าง
การติดตั้ง
การใช้งาน
ตัวอย่าง
ใบอนุญาต
sudo suCtrl+C อย่างสง่างามโดยไม่ต้องออกจากเปลือกSIGINT , SIGTSTP , SIGQUIT , SIGTTIN และ SIGTTOU ให้ประสบการณ์ที่แข็งแกร่งและเป็นมิตรกับผู้ใช้มากขึ้นRazzshell แยกความแตกต่างจากเปลือกหอย UNIX อื่น ๆ เช่น Bash, ZSH และ FISH โดยเสนอ:
change แทน cd list แทน ls ) สิ่งนี้กระตุ้นให้ผู้ใช้เรียนรู้และใช้คุณสมบัติที่เป็นเอกลักษณ์ของเชลล์
sudo apt-get update
sudo apt-get install build-essential libreadline-dev -ldlsudo dnf install gcc make readline-develsudo pacman -S base-devel readlineโคลนที่เก็บ:
git clone https://github.com/rajacharya987/razzshell.gitนำทางไปยังไดเรกทอรี:
cd razzshellรวบรวมซอร์สโค้ด:
gcc -o razzshell razzshell.c -lreadline -ldlติดตั้ง Razzshell:
sudo cp razzshell /usr/local/bin/
sudo chmod +x /usr/local/bin/razzshellโคลนที่เก็บ:
git clone https://github.com/rajacharya987/razzshell.gitนำทางไปยังไดเรกทอรี:
cd razzshellรวบรวมซอร์สโค้ด:
gcc -o razzshell razzshell.c -lreadlineติดตั้ง Razzshell:
sudo cp razzshell /usr/local/bin/
sudo chmod +x /usr/local/bin/razzshellyay (AUR HELPER) หากคุณติดตั้ง yay คุณสามารถติดตั้ง Razzshell ได้โดยตรงจาก AUR:
yay -S razzshellโคลนที่เก็บ:
git clone https://github.com/rajacharya987/razzshell.gitนำทางไปยังไดเรกทอรี:
cd razzshellรวบรวมซอร์สโค้ด:
gcc -o razzshell razzshell.c -lreadline -ldlติดตั้ง Razzshell:
sudo cp razzshell /usr/local/bin/
sudo chmod +x /usr/local/bin/razzshellเรียกใช้ปฏิบัติการที่รวบรวมได้:
razzshellคุณจะได้รับการต้อนรับด้วยพรอมต์คล้ายกับ:
razzshell-$ [current_directory]>
razzshell-$ [directory]>razzshell-# [directory]> พรอมต์จะแสดงประเภทเชลล์ ( $ สำหรับผู้ใช้ปกติ # สำหรับรูท) และไดเรกทอรีปัจจุบัน
change : เปลี่ยนไดเรกทอรีการทำงานปัจจุบัน
change [directory]
list : รายการไดเรกทอรีรายการที่มีเอาต์พุตรหัสสี
list [-a] [directory]
-a : รวมไฟล์ที่ซ่อนอยู่ copy : คัดลอกไฟล์จากตำแหน่งหนึ่งไปยังอีกที่หนึ่ง
copy [source] [destination]
move : ย้ายหรือเปลี่ยนชื่อไฟล์
move [source] [destination]
delete : ลบไฟล์
delete [file]
makedir : สร้างไดเรกทอรีใหม่
makedir [directory]
removedir : ลบไดเรกทอรีที่ว่างเปล่า
removedir [directory]
create : สร้างไฟล์ใหม่
create [filename]
readfile : แสดงเนื้อหาของไฟล์
readfile [filename]
headfile : แสดงบรรทัดแรกของไฟล์
headfile [filename]
tailfile : แสดงบรรทัดสุดท้ายของไฟล์
tailfile [filename]
wordcount : นับคำบรรทัดและอักขระในไฟล์
wordcount [filename]
showprocesses : แสดงกระบวนการทำงาน
showprocesses
terminate : ยุติกระบวนการ
terminate [process id]
viewjobs : รายการงานพื้นหลังที่ใช้งานอยู่
viewjobs
sendtoback : ส่งงานไปยังพื้นหลัง
sendtoback [job id]
bringtofront : นำงานพื้นหลังมาที่เบื้องหน้า
bringtofront [job id]
where : แสดงไดเรกทอรีการทำงานปัจจุบัน
where
whome : แสดงผู้ใช้ปัจจุบัน
whome
sysinfo : ข้อมูลระบบแสดงผล
sysinfo
systemname : ชื่อระบบพิมพ์ชื่อและข้อมูล
systemname
today : แสดงวันที่และเวลาปัจจุบัน
today
calendar : แสดงปฏิทิน
calendar
diskusage : แสดงการใช้ดิสก์
diskusage
diskfree : แสดงพื้นที่ดิสก์ฟรี
diskfree
cpuusage : แสดงการใช้ CPU
cpuusage
memusage : แสดงการใช้หน่วยความจำ
memusage
say : แสดงบรรทัดของข้อความ (คล้ายกับ echo )
say [text]
searchfile : ค้นหาไฟล์ในลำดับชั้นของไดเรกทอรี
searchfile [filename]
searchtext : ค้นหารูปแบบในไฟล์
searchtext [pattern] [file]
fetchurl : ดึงเนื้อหาจาก URL
fetchurl [URL]
pinghost : ping โฮสต์เพื่อตรวจสอบการเชื่อมต่อ
pinghost [hostname]
visualize : แสดงภาพการไหลของคำสั่ง
visualize [command]
repeat : ทำซ้ำคำสั่งหลายครั้ง
repeat [count] [command]
makealias : สร้างนามแฝงคำสั่ง
makealias [alias_name] [command]
removealias : ลบนามแฝงคำสั่ง
removealias [alias_name]
aliases : แสดงรายการนามแฝงทั้งหมด
aliases
setenv : ตั้งค่าตัวแปรสภาพแวดล้อม
setenv [VAR] [VALUE]
unsetenv : UNSET ตัวแปรสภาพแวดล้อม
unsetenv [VAR]
printenv : พิมพ์ตัวแปรสภาพแวดล้อมทั้งหมด
printenv
save : บันทึกประวัติเซสชันปัจจุบัน
save
load : โหลดประวัติเซสชันที่บันทึกไว้
load
bookmark : บุ๊กมาร์กคำสั่ง
bookmark [command]
listbookmarks : แสดงรายการคำสั่งบุ๊คมาร์คทั้งหมด
listbookmarks
commands : แสดงประวัติคำสั่ง
commands
history_clear : ประวัติคำสั่งที่ชัดเจน
history_clear
clear : ล้างหน้าจอเทอร์มินัล
clear
howto : แสดงความช่วยเหลือสำหรับคำสั่ง
howto
sudo : เรียกใช้คำสั่งเป็นรูท
sudo [command]
sudo_su : เปลี่ยนเป็นรูทเชลล์ภายใน Razzshell
sudo su
quit : ออกจากเปลือก
quit
Razzshell รองรับการดำเนินการโปรแกรมภายนอกที่ติดตั้งในระบบของคุณ หากคำสั่งไม่ได้รับการยอมรับว่าเป็นคำสั่งในตัว Razzshell จะพยายามดำเนินการเป็นคำสั่งภายนอก
ตัวอย่าง:
razzshell-$ [directory]> nano filename.txt
การเปลี่ยนไดเรกทอรี:
razzshell-$ [directory]> change /path/to/directory
รายการไฟล์ที่มีสี:
razzshell-$ [directory]> list
แสดงรายการไฟล์ทั้งหมดรวมถึงไฟล์ที่ซ่อนอยู่:
razzshell-$ [directory]> list -a
การสร้างและการใช้นามแฝง:
razzshell-$ [directory]> makealias ll list
razzshell-$ [directory]> ll
การตั้งค่าและการใช้ตัวแปรสภาพแวดล้อม:
razzshell-$ [directory]> setenv MYVAR HelloWorld
razzshell-$ [directory]> say $MYVAR
ทำซ้ำคำสั่ง:
razzshell-$ [directory]> repeat 5 say "Hello, World!"
ยกระดับให้กับผู้ใช้รูทภายใน Razzshell:
razzshell-$ [directory]> sudo su
[sudo] password for user:
razzshell-# [directory]>
ออกจากเปลือกหอย:
razzshell-$ [directory]> quit
Razzshell ได้รับการปล่อยตัวภายใต้ใบอนุญาต MIT
ข้อจำกัดความรับผิดชอบ: ใช้ Razzshell ตามความเสี่ยงของคุณเอง ผู้เขียนจะไม่รับผิดชอบต่อความเสียหายหรือการสูญเสียข้อมูลใด ๆ ที่เกิดจากการใช้เชลล์นี้
หมายเหตุ: หากคุณพบข้อผิดพลาดที่เกี่ยวข้องกับ readline ในระหว่างการรวบรวมตรวจสอบให้แน่ใจว่ามีการติดตั้งไลบรารี readline ในระบบของคุณ
ขอบคุณที่เลือก Razzshell!