Overclock.net › Forums › Software, Programming and Coding › Operating Systems › Linux, Unix › Looking for some projects to better learn CLI
New Posts  All Forums:Forum Nav:

Looking for some projects to better learn CLI

post #1 of 8
Thread Starter 
So, I have been using Linux off and on for a few years. Never been strong at CLI. I know the basics and some other bits here and there. For me, the best way to learn this stuff is to follow a tutorial on doing a given project and learn by doing. So, what are some good projects to do to learn to better use CLI? I have Mint 18 running on a laptop I plan to make my daily driver for a while. Will take it with me everywhere, for the most part. Looking for system tweaks, house keeping tasks, what ever really. Just things to dive in with.
 
FreeNAS Box
(10 items)
 
 
CPUMotherboardGraphicsGraphics
Intel 4930K Rampage IV Extreme EVGA Titan X SC EVGA Titan X SC 
RAMHard DriveHard DriveCooling
Dominator Platinum 2133 840 Pro 256gb 840 evo 1tb EK Supremacy EVO 
CoolingCoolingCoolingCooling
Swiftech MPC 655 EK reservoir 250 EK Titan X nickel block EK Titan X nickel block 
OSOSKeyboardPower
Arch Linux Win10 Pro Corsair K95 RGB ax1200i 
CaseMouse
900d Logitech g502 
  hide details  
Reply
 
FreeNAS Box
(10 items)
 
 
CPUMotherboardGraphicsGraphics
Intel 4930K Rampage IV Extreme EVGA Titan X SC EVGA Titan X SC 
RAMHard DriveHard DriveCooling
Dominator Platinum 2133 840 Pro 256gb 840 evo 1tb EK Supremacy EVO 
CoolingCoolingCoolingCooling
Swiftech MPC 655 EK reservoir 250 EK Titan X nickel block EK Titan X nickel block 
OSOSKeyboardPower
Arch Linux Win10 Pro Corsair K95 RGB ax1200i 
CaseMouse
900d Logitech g502 
  hide details  
Reply
post #2 of 8
ArchLinux! Nothing gets you more into CLI than having to set up your own desktop from scratch, and Arch documentation is oriented very well to successfully guide people with 0 experience.

Really though, getting better at CLI goes hand-in-hand with writing shell functions and scripting, which is more involved as it requires learning syntax and not just the commands to call existing programs, so it requires you have reasons to stay motivated and keep learning by doing.

For me, an example of a project that keeps my motivation high is taskbar hacking for WM. When I used i3 WM, I wrote a script to fetch and parse weather data then serialize into JSON so it would be displayed properly. Now I'm using Herbstluftwm and the default bar is dzen2, which is a lot more flexible and formless than i3bar was, and now I'm writing shell functions to fetch and format discrete pieces of data, mostly using GNU utilities.

I forget his name (sorry) but another OCNer was writing Conky scripts in Lua that leveraged the Cairo graphics library to display analog-style gauges for his stats. Everyone has their own reasons to stay motivated but starting with scripts to pretty up your desktop is a great way to stay motivated because you will always be seeing the fruits of your labour on screen smile.gif
Black & Green
(12 items)
 
Dev Box
(7 items)
 
 
CPUMotherboardGraphicsRAM
Phenom II X6 1090T ASRock 970 Extreme3 Gigabyte GTX 750 Ti mushkin Blackline PC-12800 DDR3 
Hard DriveCoolingOSMonitor
Samsung 850 EVO Cooler Master Hyper 212 EVO Debian -nosystemd- LG Flatron 
KeyboardPowerMouseAudio
MechanicalEagle Z-77 Corsair CS650M Kinzu V2 Pro Asus Xonar Essence STX 
CPUMotherboardRAMHard Drive
Core2 Duo E7400 Asus P5Q Hyper-X  Sandisk 
OSPower
Fedora 22 Thermaltake 650W 
  hide details  
Reply
Black & Green
(12 items)
 
Dev Box
(7 items)
 
 
CPUMotherboardGraphicsRAM
Phenom II X6 1090T ASRock 970 Extreme3 Gigabyte GTX 750 Ti mushkin Blackline PC-12800 DDR3 
Hard DriveCoolingOSMonitor
Samsung 850 EVO Cooler Master Hyper 212 EVO Debian -nosystemd- LG Flatron 
KeyboardPowerMouseAudio
MechanicalEagle Z-77 Corsair CS650M Kinzu V2 Pro Asus Xonar Essence STX 
CPUMotherboardRAMHard Drive
Core2 Duo E7400 Asus P5Q Hyper-X  Sandisk 
OSPower
Fedora 22 Thermaltake 650W 
  hide details  
Reply
post #3 of 8
FreeBSD = p
We have containers out of the gate! Make jails, make projects in those jails, if you eff up, no big deal! Just roll the jail back ^^

But of course I was going to say that ^^.

In all honesty, it doesn't actually matter. I would do one of two things
>Pick a project and just do it from terminal
>confine yourself forcefully into CLI by using an OS that doesn't come with stock gui.

I would also, so you don't get bored/frustrated, pick something to set up for yourself. Like, set up an IRC server, a voice serve, some database to organize your movies/books and etc. Something that by the time you are done you can point to and say, man that was a nice thing I did and it will serve me well in coming years ^^.
This does kinda preclude you having a system that can be a good server, but never fear, you can just buy a RPi and use that in case you don't have a desktop that's not windows.

There are good tutorials on bittlebee, on making an sft server, on samba4(ok i lie, samba4 is some sort of arcane magical bs, there are no good tutorials for it lol), on couchDB (currently doing that one ^^), on firefly/other media servers (to serve to devices in house), and etc.
I usually never follow one tutorial as the person writing tutorial usually has some sort of assumption that I know something I don't because it should be common knowledge. So I end up with a book, a tutorial, a manpage, and a free google window for extra help ^^.
Phantom
(13 items)
 
Flagship
(11 items)
 
Vel'Koz
(11 items)
 
CPUMotherboardGraphicsRAM
Pentium 4 HP 3.0 GHz GA-8IG-1000-Pro-G SAPPHIRE ATI RadeOn 9600 Pro 128 MB Corsair VS512MB400 x 2 = 1024 Mb duel channel 
Hard DriveOptical DriveOSMonitor
Western Digital 120 GB SONY CD-RW CRX320E Windows XP MAG LCD 17' 
KeyboardPowerCaseMouse
Logisys InWin PowerMan 350W Phantom ( power suply was replaced ) Logitech Optical mouse 
CPUMotherboardGraphicsRAM
AMD FX-8350  Gigabyte GA‑990FXA‑UD5 Nvidia crucial ballistix tactical 
Hard DriveHard DriveOptical DriveCooling
Seagate Barracuda ST1000DM003 western digital red CD Combo Drive cooler master hyper 212 evo 
OSPowerCase
FreeBSD 10.2 COUGAR A-Series A560 Rosewill REDBONE Mid tower 
CPUMotherboardGraphicsRAM
AMD Athlon 5350 Kabini Quad-Core 2.05 GHz Biostar AM1MHP EVGA GeForce GT 730 LP Low Profile Graphics Car... 4gb corsair vengeance 1600mhz ddr3 
Hard DriveCoolingOSKeyboard
ADATA Premier SP550 64GB ARCTIC Alpine M1 FreeBSD 10.2 Iogear Multimedia GKM561R Wireless 2.4 GHz Keyb... 
PowerCaseMouse Pad
SeaSonic SS‑400ET DIYPC DIY-F2-P Integral Trackball 
  hide details  
Reply
Phantom
(13 items)
 
Flagship
(11 items)
 
Vel'Koz
(11 items)
 
CPUMotherboardGraphicsRAM
Pentium 4 HP 3.0 GHz GA-8IG-1000-Pro-G SAPPHIRE ATI RadeOn 9600 Pro 128 MB Corsair VS512MB400 x 2 = 1024 Mb duel channel 
Hard DriveOptical DriveOSMonitor
Western Digital 120 GB SONY CD-RW CRX320E Windows XP MAG LCD 17' 
KeyboardPowerCaseMouse
Logisys InWin PowerMan 350W Phantom ( power suply was replaced ) Logitech Optical mouse 
CPUMotherboardGraphicsRAM
AMD FX-8350  Gigabyte GA‑990FXA‑UD5 Nvidia crucial ballistix tactical 
Hard DriveHard DriveOptical DriveCooling
Seagate Barracuda ST1000DM003 western digital red CD Combo Drive cooler master hyper 212 evo 
OSPowerCase
FreeBSD 10.2 COUGAR A-Series A560 Rosewill REDBONE Mid tower 
CPUMotherboardGraphicsRAM
AMD Athlon 5350 Kabini Quad-Core 2.05 GHz Biostar AM1MHP EVGA GeForce GT 730 LP Low Profile Graphics Car... 4gb corsair vengeance 1600mhz ddr3 
Hard DriveCoolingOSKeyboard
ADATA Premier SP550 64GB ARCTIC Alpine M1 FreeBSD 10.2 Iogear Multimedia GKM561R Wireless 2.4 GHz Keyb... 
PowerCaseMouse Pad
SeaSonic SS‑400ET DIYPC DIY-F2-P Integral Trackball 
  hide details  
Reply
post #4 of 8
Like Petrol said arch is a good way to learn more. Also start to write scripts for things you do often. Conky is a good/annoying way to learn more also.

Quote:
Originally Posted by _Red_Dog_ View Post

...
on samba4(ok i lie, samba4 is some sort of arcane magical bs, there are no good tutorials for it lol)
...

Yes it is, works fine in Ubuntu but not Centos mad.gif
My System
(21 items)
 
Server/HTPC
(11 items)
 
 
CPUMotherboardGraphicsRAM
AMD 8320 Asus m5a99fx pro EVGA 660ti  Gskill 8GB F3-1600C9-8GXM x2 
RAMHard DriveHard DriveHard Drive
4GB x2 OCZ Agility 3 Sasmsung 840 EVO Western Digital Caviar Blue 
Hard DriveOptical DriveOptical DriveCooling
Seagate 500gb Asus DRW-24B1ST Asus BC-12B1ST cool master hyper 212 evo 
OSOSMonitorMonitor
Windows 10 Pro x64 Arch  Asus 23" VH238 Asus 23" VH238H 
PowerCase
Corsair CX600M Fractal Design Define R5  
CPUMotherboardRAMHard Drive
i3 6100 Asus Z170M-Plus something 16gb DDR4 Western Digital 500GB 
Hard DriveHard DriveHard DriveOS
Samsung 2TB Western Digital Red 3TB HGST Deskter 4TB Unraid 6.x 
OSPowerCase
Ubuntu Server - VM Corsair CX430  Cooler Master HAF 912 
  hide details  
Reply
My System
(21 items)
 
Server/HTPC
(11 items)
 
 
CPUMotherboardGraphicsRAM
AMD 8320 Asus m5a99fx pro EVGA 660ti  Gskill 8GB F3-1600C9-8GXM x2 
RAMHard DriveHard DriveHard Drive
4GB x2 OCZ Agility 3 Sasmsung 840 EVO Western Digital Caviar Blue 
Hard DriveOptical DriveOptical DriveCooling
Seagate 500gb Asus DRW-24B1ST Asus BC-12B1ST cool master hyper 212 evo 
OSOSMonitorMonitor
Windows 10 Pro x64 Arch  Asus 23" VH238 Asus 23" VH238H 
PowerCase
Corsair CX600M Fractal Design Define R5  
CPUMotherboardRAMHard Drive
i3 6100 Asus Z170M-Plus something 16gb DDR4 Western Digital 500GB 
Hard DriveHard DriveHard DriveOS
Samsung 2TB Western Digital Red 3TB HGST Deskter 4TB Unraid 6.x 
OSPowerCase
Ubuntu Server - VM Corsair CX430  Cooler Master HAF 912 
  hide details  
Reply
post #5 of 8
@cones
I honestly just gave up for time being dude. X.X
I am using an sftp for backing stuff up, and working on doing iSCSI over IPsec (i do not believe in DMZs, on my lan, all comms that are worth protecting, are protected.) for every other filesharing.

I realize that file-sharing is just a part of samba... but I am not learning OpenLDAP yet... X.X
Edited by _Red_Dog_ - 8/22/16 at 8:32am
Phantom
(13 items)
 
Flagship
(11 items)
 
Vel'Koz
(11 items)
 
CPUMotherboardGraphicsRAM
Pentium 4 HP 3.0 GHz GA-8IG-1000-Pro-G SAPPHIRE ATI RadeOn 9600 Pro 128 MB Corsair VS512MB400 x 2 = 1024 Mb duel channel 
Hard DriveOptical DriveOSMonitor
Western Digital 120 GB SONY CD-RW CRX320E Windows XP MAG LCD 17' 
KeyboardPowerCaseMouse
Logisys InWin PowerMan 350W Phantom ( power suply was replaced ) Logitech Optical mouse 
CPUMotherboardGraphicsRAM
AMD FX-8350  Gigabyte GA‑990FXA‑UD5 Nvidia crucial ballistix tactical 
Hard DriveHard DriveOptical DriveCooling
Seagate Barracuda ST1000DM003 western digital red CD Combo Drive cooler master hyper 212 evo 
OSPowerCase
FreeBSD 10.2 COUGAR A-Series A560 Rosewill REDBONE Mid tower 
CPUMotherboardGraphicsRAM
AMD Athlon 5350 Kabini Quad-Core 2.05 GHz Biostar AM1MHP EVGA GeForce GT 730 LP Low Profile Graphics Car... 4gb corsair vengeance 1600mhz ddr3 
Hard DriveCoolingOSKeyboard
ADATA Premier SP550 64GB ARCTIC Alpine M1 FreeBSD 10.2 Iogear Multimedia GKM561R Wireless 2.4 GHz Keyb... 
PowerCaseMouse Pad
SeaSonic SS‑400ET DIYPC DIY-F2-P Integral Trackball 
  hide details  
Reply
Phantom
(13 items)
 
Flagship
(11 items)
 
Vel'Koz
(11 items)
 
CPUMotherboardGraphicsRAM
Pentium 4 HP 3.0 GHz GA-8IG-1000-Pro-G SAPPHIRE ATI RadeOn 9600 Pro 128 MB Corsair VS512MB400 x 2 = 1024 Mb duel channel 
Hard DriveOptical DriveOSMonitor
Western Digital 120 GB SONY CD-RW CRX320E Windows XP MAG LCD 17' 
KeyboardPowerCaseMouse
Logisys InWin PowerMan 350W Phantom ( power suply was replaced ) Logitech Optical mouse 
CPUMotherboardGraphicsRAM
AMD FX-8350  Gigabyte GA‑990FXA‑UD5 Nvidia crucial ballistix tactical 
Hard DriveHard DriveOptical DriveCooling
Seagate Barracuda ST1000DM003 western digital red CD Combo Drive cooler master hyper 212 evo 
OSPowerCase
FreeBSD 10.2 COUGAR A-Series A560 Rosewill REDBONE Mid tower 
CPUMotherboardGraphicsRAM
AMD Athlon 5350 Kabini Quad-Core 2.05 GHz Biostar AM1MHP EVGA GeForce GT 730 LP Low Profile Graphics Car... 4gb corsair vengeance 1600mhz ddr3 
Hard DriveCoolingOSKeyboard
ADATA Premier SP550 64GB ARCTIC Alpine M1 FreeBSD 10.2 Iogear Multimedia GKM561R Wireless 2.4 GHz Keyb... 
PowerCaseMouse Pad
SeaSonic SS‑400ET DIYPC DIY-F2-P Integral Trackball 
  hide details  
Reply
post #6 of 8
Unless you need it for Windows just go with NTFS.
My System
(21 items)
 
Server/HTPC
(11 items)
 
 
CPUMotherboardGraphicsRAM
AMD 8320 Asus m5a99fx pro EVGA 660ti  Gskill 8GB F3-1600C9-8GXM x2 
RAMHard DriveHard DriveHard Drive
4GB x2 OCZ Agility 3 Sasmsung 840 EVO Western Digital Caviar Blue 
Hard DriveOptical DriveOptical DriveCooling
Seagate 500gb Asus DRW-24B1ST Asus BC-12B1ST cool master hyper 212 evo 
OSOSMonitorMonitor
Windows 10 Pro x64 Arch  Asus 23" VH238 Asus 23" VH238H 
PowerCase
Corsair CX600M Fractal Design Define R5  
CPUMotherboardRAMHard Drive
i3 6100 Asus Z170M-Plus something 16gb DDR4 Western Digital 500GB 
Hard DriveHard DriveHard DriveOS
Samsung 2TB Western Digital Red 3TB HGST Deskter 4TB Unraid 6.x 
OSPowerCase
Ubuntu Server - VM Corsair CX430  Cooler Master HAF 912 
  hide details  
Reply
My System
(21 items)
 
Server/HTPC
(11 items)
 
 
CPUMotherboardGraphicsRAM
AMD 8320 Asus m5a99fx pro EVGA 660ti  Gskill 8GB F3-1600C9-8GXM x2 
RAMHard DriveHard DriveHard Drive
4GB x2 OCZ Agility 3 Sasmsung 840 EVO Western Digital Caviar Blue 
Hard DriveOptical DriveOptical DriveCooling
Seagate 500gb Asus DRW-24B1ST Asus BC-12B1ST cool master hyper 212 evo 
OSOSMonitorMonitor
Windows 10 Pro x64 Arch  Asus 23" VH238 Asus 23" VH238H 
PowerCase
Corsair CX600M Fractal Design Define R5  
CPUMotherboardRAMHard Drive
i3 6100 Asus Z170M-Plus something 16gb DDR4 Western Digital 500GB 
Hard DriveHard DriveHard DriveOS
Samsung 2TB Western Digital Red 3TB HGST Deskter 4TB Unraid 6.x 
OSPowerCase
Ubuntu Server - VM Corsair CX430  Cooler Master HAF 912 
  hide details  
Reply
post #7 of 8
Thread Starter 
I plan to stick with Mint for now. Not looking for pure CLI OS since I use the machine for things I really can not do in CLI. Like media consumption or just surfing the usual web sites. Open to any ideas outside of doing the whole full CLI interface. As it sits, I try to do everything via CLI that is not done via web browser. At least where I can. Google has been my friend for a lot of things. I usually have at least a couple terminals open at any given time. One usually has the manuals for what ever command I am using open in it. Just so I can see all the extra options that go with them and to play with them as well.
 
FreeNAS Box
(10 items)
 
 
CPUMotherboardGraphicsGraphics
Intel 4930K Rampage IV Extreme EVGA Titan X SC EVGA Titan X SC 
RAMHard DriveHard DriveCooling
Dominator Platinum 2133 840 Pro 256gb 840 evo 1tb EK Supremacy EVO 
CoolingCoolingCoolingCooling
Swiftech MPC 655 EK reservoir 250 EK Titan X nickel block EK Titan X nickel block 
OSOSKeyboardPower
Arch Linux Win10 Pro Corsair K95 RGB ax1200i 
CaseMouse
900d Logitech g502 
  hide details  
Reply
 
FreeNAS Box
(10 items)
 
 
CPUMotherboardGraphicsGraphics
Intel 4930K Rampage IV Extreme EVGA Titan X SC EVGA Titan X SC 
RAMHard DriveHard DriveCooling
Dominator Platinum 2133 840 Pro 256gb 840 evo 1tb EK Supremacy EVO 
CoolingCoolingCoolingCooling
Swiftech MPC 655 EK reservoir 250 EK Titan X nickel block EK Titan X nickel block 
OSOSKeyboardPower
Arch Linux Win10 Pro Corsair K95 RGB ax1200i 
CaseMouse
900d Logitech g502 
  hide details  
Reply
post #8 of 8
Quote:
Originally Posted by Prophet4NO1 View Post

I plan to stick with Mint for now. Not looking for pure CLI OS since I use the machine for things I really can not do in CLI. Like media consumption or just surfing the usual web sites. Open to any ideas outside of doing the whole full CLI interface. As it sits, I try to do everything via CLI that is not done via web browser. At least where I can. Google has been my friend for a lot of things. I usually have at least a couple terminals open at any given time. One usually has the manuals for what ever command I am using open in it. Just so I can see all the extra options that go with them and to play with them as well.

Try and set up some automation, this is a good way to figure lots of things out, and is a quality of life improvement after all.

For example, a fun (read: mentally devastating) project I had was setting up some udev rules and, later, systemd services which executed a long script (AV scan) upon plugging in a USB device.
The thing with udev was that the scan should be run after mounting the device. Yeah, no - you had to detach the spawned process as udev would otherwise wait it out before mounting (since the trigger for the script is the insertion itself) and there is little point in scanning a still empty directory. The fun part was that it worked with older distros, but not after upgrading. Eventually I had to read up on systemd (which I am not sure I like) and make it work together with udev. smile.gif

Another thing was setting up a little watchdog script that checked for a couple of programs that should always run along with a network mount point - you could, for example, automate your backups like that. And if complex (if you are specific about what you back up) copy scripts are something you don't want to bother with, then you can simply trigger your backup software. Or to make it even more fun and redundant, make that script touch a file after running successfully and have the watchdog check to see if a backup has started but failed, i.e. the file hasn't been touched soon.


I don't really fancy tutorials often for the reason _Red_Dog_ mentioned, so I try to think of something that would benefit me and I dive into it; or I try to mimic a program's functionality while tailoring it to my use-case.
MEGATRON
(17 items)
 
GIGATRON
(10 items)
 
 
CPUMotherboardGraphicsRAM
Ryzen 7 1700 Crosshair VI Hero Gigabyte RX 580 2x8 G.Skill Trident 3200 CAS14 @ 3466 CAS14 
Hard DriveHard DriveHard DriveCooling
2x1TB WD Black RAID 0 3TB WD Red Samsung 840 Evo 250GB Stock... hue hue 
MonitorMonitorMonitorKeyboard
Benq XL2411Z Dell U2412M Dell U2412M KBC Poker II MX Clears 
PowerCaseMouseMouse Pad
FSP Aurum PT 1200W Thermaltake Core X9 Mionix AVIOR 7000 old school Razer Goliathus 
Audio
Aune T1 -> Yamaha A-720 -> Sennheiser HD650 | S... 
CPUCPUMotherboardGraphics
Intel Xeon E5-2650 v4 @ 2.00GHz Intel Xeon E5-2650 v4 @ 2.00GHz SuperMicro X10DAL-i nay 
RAMHard DriveCoolingOS
2x8GB (for now) Kingston DDR4 @ 2133MHz/C16 Samsung 840 120GB EK-Vardar F4 on an Arctic Freezer i11 Ubuntu Server 16.04 
PowerCase
SeaSonic SS850-AM overrated 
  hide details  
Reply
MEGATRON
(17 items)
 
GIGATRON
(10 items)
 
 
CPUMotherboardGraphicsRAM
Ryzen 7 1700 Crosshair VI Hero Gigabyte RX 580 2x8 G.Skill Trident 3200 CAS14 @ 3466 CAS14 
Hard DriveHard DriveHard DriveCooling
2x1TB WD Black RAID 0 3TB WD Red Samsung 840 Evo 250GB Stock... hue hue 
MonitorMonitorMonitorKeyboard
Benq XL2411Z Dell U2412M Dell U2412M KBC Poker II MX Clears 
PowerCaseMouseMouse Pad
FSP Aurum PT 1200W Thermaltake Core X9 Mionix AVIOR 7000 old school Razer Goliathus 
Audio
Aune T1 -> Yamaha A-720 -> Sennheiser HD650 | S... 
CPUCPUMotherboardGraphics
Intel Xeon E5-2650 v4 @ 2.00GHz Intel Xeon E5-2650 v4 @ 2.00GHz SuperMicro X10DAL-i nay 
RAMHard DriveCoolingOS
2x8GB (for now) Kingston DDR4 @ 2133MHz/C16 Samsung 840 120GB EK-Vardar F4 on an Arctic Freezer i11 Ubuntu Server 16.04 
PowerCase
SeaSonic SS850-AM overrated 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Linux, Unix
Overclock.net › Forums › Software, Programming and Coding › Operating Systems › Linux, Unix › Looking for some projects to better learn CLI